其實學習任何一門程式設計語言,最重要的就是學習它的
原理
。在前面我們已經介紹了matplotlib、seaborn、plotly的繪圖原理,今天給大家介紹的是,我認為互動效果最好的一個python繪圖庫,學會了絕對不虧。
《matplotlib繪圖原理詳解》《seaborn繪圖原理詳解》《plotly繪圖原理詳解》
1.pyecharts簡介
Echarts
是一個由百度開源的資料可視化工具,憑借着良好的互動性,精巧的圖表設計,得到了衆多開發者的認可。而
python
是一門富有表達力的語言,很适合用于資料處理。當資料分析遇上了資料可視化時,
pyecharts
誕生了。
pyecharts分為
v0.5
和
v1
兩個大版本,v0.5和v1兩個版本不相容,v1是一個全新的版本,是以我們的學習盡量都是基于v1版本進行操作。
學習任何程式設計語言,其實官網是最好的老師,下面我們列出了echarts和pyecharts的官網,比較幸運的是,pyecharts是由一個中國人開發的,也存在一個中文網站,這樣學習起來就友善多了。
echarts官網:
https://www.echartsjs.com/index.html
pyecharts官網:
https://pyecharts.org/#/zh-cn/intro
安裝:
pip install pyecharts
檢視版本:
print(pyecharts.version)
2.pyecharts繪圖邏輯
1)pyecharts繪圖邏輯說明
pyecharts
是一個全新的可視化繪圖工具,是以它的繪圖邏輯完全不同于前面說到的
matplotlib、seaborn、plotly
。是以你想要學好這個可視化工具,最主要的就是要學會它的繪圖邏輯,俗話說:
“知己知彼,百戰不殆”
,你隻有了解别人 ,才可以用起來順手呀。pyecharts的繪圖邏輯分為以下幾步。
- ① 選擇圖表類型;
- ② 聲明圖形類并添加資料;
- ③ 選擇全局變量;
- ④ 顯示及儲存圖表;
第一步是選擇圖表類型,基于自己的資料特點,我們看看自己想要繪制那種圖形,需要什麼圖形就導入什麼圖形;
“下面我簡單列舉了幾個導入方法”
from pyecharts.charts import Scatter # 導入散點圖
from pyecharts.charts import Line # 導入折線圖
from pyecharts.charts import Pie # 導入餅圖
from pyecharts.charts import Geo # 導入地圖
第二步是聲明圖形類并添加資料,什麼是圖形類呢?其實每一個圖形庫都是被pyecharts作者封裝成為了一個類,這就是所謂的面向對象,我們在使用這個類的時候,需要執行個體化這個類(觀察下面代碼)。聲明類之後,相當于初始化了一個畫布,我們之後的繪圖就是在這個畫布上進行。接下來要做的就是添加資料,pyecharts中添加資料共有2種方式,一種是普通方式添加資料,一種是鍊式調用(觀察下面代碼)來添加資料,後面我會分章節一個個為大家介紹。
"下面繪制的是:正弦曲線的散點圖"
# 1.選擇圖表類型:我們使用的是散點圖,就直接從charts子產品中導入Scatter這個圖形。
from pyecharts.charts import Scatter
import numpy as np
x = np.linspace(0,2 * np.pi,100)
y = np.sin(x)
(
# 注意:使用什麼圖形,就要執行個體化該圖形的類;
# 2.我們繪制的是Scatter散點圖,就需要執行個體化散點圖類,直接Scatter() 即可;
Scatter()
# 執行個體化類後,接着就是添加資料,下面這種方式就是使用“鍊式調用”的方式繪圖;
# 注意:散點圖有X、Y軸,是以需要分别給X軸、Y軸添加資料;
# 3.我們先給X軸添加資料;
.add_xaxis(xaxis_data=x)
# 4.我們再給Y軸添加資料;
.add_yaxis(series_name="這個圖是幹嘛的",y_axis=y)
).render_notebook()
第三步就是設定全局變量,用通俗的話說就是:調節各種各樣的參數,把圖形變得更好看。常用的有标題配置項、圖例配置項、工具配置項、視覺映射配置項、提示框配置項、區域縮放配置項。你也許不知道這幾個名詞是什麼意思,但是不用擔心,你首先是學會了如何使用pyecharts繪圖後,再慢慢學習這方面的内容。
- 預設情況下圖例配置項和提示框配置項是顯示的,其它四個配置項預設情況下是不顯示的,需要我們自己設定;

第四步是顯示及儲存圖表,我們這裡介紹兩種最常用的儲存方式,如下所示。
.render("C:\\Users\\黃偉\\Desktop\\CSDN上傳圖像\\a.html")
# 如果不指定路徑,就是直接儲存在目前工作環境目錄下;
# 如果指定了路徑,就是儲存到指定的目錄下;
# 注意:最終都是以html格式展示,發給其他任何人都可以直接打開看的;
.render_notebook()
# 如果我們使用的是jupyter notebook,直接使用這行代碼,可以直接顯示圖檔;
3.選擇圖表類型
下面列舉出現的所有圖形都在
charts
字子產品下,我們利用如下代碼就可以導入各自對應的圖形,在上面的叙述中,我已經列舉了部分圖形的導入方式。
- from pyecharts.charts import 函數名
注意:
這裡我們隻列出了部分圖形,包括我們後面繪制地圖,也都是在pyecharts的子子產品charts子產品下,我們要記住這句導入相關圖形庫的代碼。
4.資料添加
1)如何添加資料呢?
像散點圖、折線圖等二維資料圖形,它既有X軸,又有Y軸,是以我們不僅要為X軸添加資料,還要為Y軸添加資料。
- .add_xaxis(xaxis_data=x)為X軸添加資料;
- .add_yaxis(series_name=’’, y_axis=y)為Y軸添加資料;
像餅圖、地圖這樣沒有X軸、Y軸區分的圖形,我們直接使用add()方法添加即可。
- .add(series_name=’’, data_pair=[(i,j)for i,j in zip(lab,num)]);
2)pyecharts繪圖的兩種方式
上面我們已經說過,pyecharts中繪圖有2種方式。第一種方式:普通方式;第二種方式:鍊式調用。仔細觀察下面的示範代碼,看看差別在哪裡。
① 鍊式調用的方式繪圖
from pyecharts.charts import Line
import pyecharts.options as opts
import numpy as np
x = np.linspace(0,2 * np.pi,100)
y = np.sin(x)
(Line(init_opts=opts.InitOpts(width="700px",height="300px"))
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name="繪制線圖",y_axis=y,label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="我是标題",subtitle="我是副标題",title_link="https://www.baidu.com/"),
tooltip_opts=opts.TooltipOpts(axis_pointer_type="cross"))
).render_notebook()
"""
關于全局配置項的代碼部分,你可能不懂,現在不懂沒什麼關系!
"""
結果如下:
② 普通方式繪圖
from pyecharts.charts import Pie
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
x = [(i, j)for i, j in zip(lab, num)]
print(x)
pie = Pie(init_opts=opts.InitOpts(width="700px",height="300px"))
pie.add(series_name='',data_pair=[(i, j)for i, j in zip(lab, num)])
pie.render_notebook()
結果如下:
3)關于series_name=""的說明
在添加資料時候,我們可以注意到
series_name參數
的存在,它是一個字元串。你也看到了,我們可以傳遞一個空字元串,也可以傳遞指定字元串,最終的作用有點類似于圖例的效果,但這裡并不是設定圖例。你不需要過多的注意這個參數,
隻需要牢記一點:
這個參數必須有,必須寫,哪怕你傳遞一個空字元串,也要寫,因為不寫這個參數,會報錯。
5.設定全局配置項
當我們學會了如何使用
pyecharts
繪圖,并且已經繪制出來了某個圖形,此時這個圖形并不一定好看。這就需要我們學會使用全局配置項,進行圖形參數的調節與設定。
所有的全局配置項的使用,都是在
options
這個子子產品下,我們在設定全局配置項的時候,記得導入這個子產品。這部分涉及到的參數太多太雜,當你覺得某個圖形需要怎麼改的時候,一般肯定是有對應的參數進行處理的,你要相信你能想到的,别人大神肯定是都想到了,這個時候你就需要學會使用官網,官網很重要!官網很重要!官網很重要!
- import pyecharts.options as opts
- 使用options配置項,在 pyecharts中,一切皆Options。
- 全局配置項可通過調用set_global_options()方法進行設定。
注意:預設情況下圖例配置項和提示框配置項是顯示的,其他四個配置項預設情況下是不顯示的,需要我們自己設定。
6、顯示及儲存圖表
-
預設将會在目前工作目錄下生成一個 render.html 的檔案,支援path參數,自定義檔案儲存位置,如 render(r"F:\my_first_chart.html"),檔案直接用浏覽器打開。.render()
- Jupyter Notebook中直接調用
随時随地渲染圖表。.render_notebook()