pyecharts的繪圖原理詳解

其實學習任何一門編程語言,最重要的就是學習它的原理。在前面我們已經介紹了matplotlib、seaborn、plotly的繪圖原理,今天給大家介紹的是,我認爲交互效果最好的一個python繪圖庫,學會了絕對不虧。
《matplotlib繪圖原理詳解》
《seaborn繪圖原理詳解》
《plotly繪圖原理詳解》

1.pyecharts簡介

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

pyecharts分爲v0.5v1兩個大版本,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()默認將會在當前工作目錄下生成一個 render.html 的文件,支持path參數,自定義文件保存位置,如 render(r"F:\my_first_chart.html"),文件直接用瀏覽器打開。
  • Jupyter Notebook中直接調用.render_notebook()隨時隨地渲染圖表。

在這裏插入圖片描述
  

   

關注微信公衆號『數據分析與統計學之美』,後臺回覆“入羣”拉你入羣交流哦,氣氛槓槓的!看到這裏,麻煩您點個再看,讓更多朋友看到哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章