超詳細!pyecharts的繪圖原理詳解

1.pyecharts簡介

Echarts是一個由百度開源的數據可視化工具,憑藉着良好的交互性,精巧的圖表設計,獲得了衆多開發者的承認。而python是一門富有表達力的語言,很適合用於數據處理。當數據分析趕上了數據可視化時,pyecharts誕生了。html

pyecharts分爲v0.5v1兩個大版本,v0.5和v1兩個版本不兼容,v1是一個全新的版本,所以咱們的學習儘可能都是基於v1版本進行操做。學習任何編程語言,其實官網是最好的老師,下面咱們列出了echarts和pyecharts的官網,比較幸運的是,pyecharts是由一箇中國人開發的,也存在一箇中文網站,這樣學習起來就方便多了。python

echarts官網:https://www.echartsjs.com/index.html編程

pyecharts官網:https://pyecharts.org/#/zh-cn/intro瀏覽器

安裝:pip install pyechartsecharts

查看版本: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()默認將會在當前工做目錄下生成一個 render.html 的文件,支持path參數,進行自定義文件保存位置,最終文件你能夠能夠發送給任何人,直接用瀏覽器打開,交互效果仍然存在。
  • Jupyter Notebook中直接調用.render_notebook()隨時隨地渲染圖表。

有段時間沒跟你們分享資源福利了,看了下本身的資料夾,整理了一些我認爲比較好的Python學習資料了。相信這套資料能夠對你進階高級工程師有幫助

學習工具

大廠實戰手冊

自學視頻(部分)

【資料免費領取方式】:點這裏:2020Python高薪實戰學習大合集

相關文章
相關標籤/搜索