一、前言
我們都知道Python上的一款可視化工具matplotlib,當然百度開源的一個可視化JS工具-Echarts也非常好用,可視化類型非常多,但是得通過導入js庫在JAVA Web項目上運行,平時用Python比較多,于是就在想有沒有Python與Echarts結合的可視化框架。
google后,找到一個國人開發的一個Echarts與Python結合的框架:pyecharts,下面就來簡述下pyecharts(官方網站:https://pyecharts.org/)一些使用細則。
二、Pyercharts安裝
寫這篇文章用的是mac環境,首先打開終端,輸入:
pip install pyecharts
#如果存在多個版本的Python,存在Python2和Python3 則是 pip3
但實測時發現,由于墻的原因,下載時會出現斷線和速度過慢的問題導致下載失敗,所以建議通過清華鏡像來進行下載:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
#如果存在多個版本的Python,存在Python2和Python3 則是 pip3
出現上方的信息,即代表下載成功,我們可以來進行下一步的實驗了!
三、開發環境準備
雖然官網也給出了一些比較基礎的例子,可以直接拿來放到IDE運行查看:
不過本次我們不對官網的入門案例進行展開,而是選擇了其中一個比較有成就感的例子來講:pyecharts框架使用-Django對接pyecharts使用。
原因是因為我們目前使用到的Python web的框架來說,Django是使用比較多的(如果你不會Django,不用擔心,后續我會出關于Django的一系列教程,可以先就本文體驗一下Django),下面我們來動手開搞吧!
首先,我們需要準備開發環境:
1、開發工具
Pycharm
2、包
django
pyecharts
1.pycharm的安裝下載可直接百度搜索下載使用
2.Django、pyecharts的安裝如下(如果存在多個版本的Python,存在Python2和Python3 則是 pip3):
pip install django
pip install pyecharts
兩個包都是,出現"Successfully installe xxxx"字眼就是安裝成功了。
四、具體實現過程
準備好開發環境后接下來我們正式開始練習
Step1:我們新建一個Django項目:
django-admin startproject pyecharts_django_codingclub
Step2:創建對應的App:
我們先cd 到
pyecharts_django_codingclub 項目文件夾再創建:
創建app
python manage.py startapp demo
接著我們去pycharm中進行開發
Step3:注冊demo的app:
首先需要在
pyecharts_django_codingclub/settings.py 中注冊app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'demo'
]
Step4:配置demo的urls
再配置 demo/urls.py 文件,新建的app沒有urls文件,我們新建一個即可
將以下代碼編寫到新建的urls文件
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
在
pyecharts_django_codingclub/urls.py 中新增我們剛剛編寫的 'demo.urls'
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('demo', include('demo.urls'))
]
Step5:使用pyecharts 模板
先在 demo 文件夾下新建 templates文件夾
將 pyecharts 模板,位于
pyecharts.render.templates 拷貝至剛新建的 templates 文件夾:
Step6:渲染圖表
將下列代碼保存到 demo/views.py 中。
from jinja2 import Environment, FileSystemLoader
from pyecharts.globals import CurrentConfig
from django.http import HttpResponse
CurrentConfig.GLOBAL_ENV = Environment(loader=FileSystemLoader("./demo/templates"))
from pyecharts import options as opts
from pyecharts.charts import Bar
def index(request):
c = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標題"))
)
return HttpResponse(c.render_embed())
Step7:運行項目
進入我們項目的根目錄
然后在pycharm的終端輸入:
python manage.py runserver
使用瀏覽器打開
http://127.0.0.1:8000/demo即可訪問我們的項目了
實現效果: