日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

肝!深度讲解Python四大常用绘图库的“绘图原理”

發布時間:2024/9/15 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 肝!深度讲解Python四大常用绘图库的“绘图原理” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么要寫這篇文章?

最近有不少粉絲來問我,Python繪圖庫太多,我知不知道學哪一個?即使我選擇了某一個繪圖庫后,我也不知道怎么學,我不知道第一步做什么,也不知道接下來該怎么做,四個字一學就忘。

其實這也是我當時很困擾的一個問題,我當時在學習完numpy和pandas后,就開始了matplotlib的學習。我反正是非常崩潰的,每次就感覺繪圖代碼怎么這么多,繪圖邏輯完全一團糟,不知道如何動手。

后面隨著自己反復的學習,我找到了學習Python繪圖庫的方法,那就是學習它的繪圖原理。正所謂:“知己知彼,百戰不殆”,學會了原理,剩下的就是熟練的問題了。

今天我們就用一篇文章,帶大家梳理matplotlib、seaborn、plotly、pyecharts的繪圖原理,讓大家學起來不再那么費勁!

1. matplotlib繪圖原理

關于matplotlib更詳細的繪圖說明,大家可以參考下面這篇文章,相信你看了以后一定學得會。

matplotlib繪圖原理:http://suo.im/678FCo

1)繪圖原理說明

通過我自己的學習和理解,我將matplotlib繪圖原理高度總結為如下幾步:

  • ① 導庫;

  • ② 創建figure畫布對象;

  • ③ 獲取對應位置的axes坐標系對象;

  • ④ 調用axes對象,進行對應位置的圖形繪制;

  • ⑤ 顯示圖形;

2)案例說明

#?1.導入相關庫 import?matplotlib?as?mpl import?matplotlib.pyplot?as?plt #?2.創建figure畫布對象 figure?=?plt.figure() #?3.獲取對應位置的axes坐標系對象 axes1?=?figure.add_subplot(2,1,1) axes2?=?figure.add_subplot(2,1,2) #?4.調用axes對象,進行對應位置的圖形繪制 axes1.plot([1,3,5,7],[4,9,6,8]) axes2.plot([1,2,4,5],[8,4,6,2]) #?5.顯示圖形 figure.show()

結果如下:

2. seaborn繪圖原理

在這四個繪圖庫里面,只有matplotlib和seaborn存在一定的聯系,其余繪圖庫之間都沒有任何聯系,就連繪圖原理也都是不一樣的。

seaborn是matplotlib的更高級的封裝。因此學習seaborn之前,首先要知道matplotlib的繪圖原理。由于seaborn是matplotlib的更高級的封裝,對于matplotlib的那些調優參數設置,也都可以在使用seaborn繪制圖形之后使用。

我們知道,使用matplotlib繪圖,需要調節大量的繪圖參數,需要記憶的東西很多。而seaborn基于matplotlib做了更高級的封裝,使得繪圖更加容易,它不需要了解大量的底層參數,就可以繪制出很多比較精致的圖形。不僅如此,seaborn還兼容numpy、pandas數據結構,在組織數據上起了很大作用,從而更大程度上的幫助我們完成數據可視化。

由于seaborn的繪圖原理,和matplotlib的繪圖原理一致,這里也就不詳細介紹了,大家可以參考上面matplotlib的繪圖原理,來學習seaborn究竟如何繪圖,這里還是提供一個網址給大家。

seaborn繪圖原理:http://suo.im/5D3VPX

1)案例說明

#?1.導入相關庫 import?seaborn?as?sns import?matplotlib.pyplot?as?pltdf?=?pd.read_excel("data.xlsx",sheet_name="數據源")sns.set_style("dark") plt.rcParams["font.sans-serif"]?=?["SimHei"] plt.rcParams["axes.unicode_minus"]?=?False #?注意:estimator表示對分組后的銷售數量求和。默認是求均值。 sns.barplot(x="品牌",y="銷售數量",data=df,color="steelblue",orient="v",estimator=sum) plt.show()

結果如下:

注意:可以看到在上述的繪圖代碼中,你應該有這樣一個感受,圖中既有matplotlib的繪圖代碼,也有seaborn的繪圖代碼。其實就是這樣的,我們就是按照matplobt的繪圖原理進行圖形繪制,只是有些地方改成seaborn特有的代碼即可,剩下的調整格式,都可以使用matplotlib中的方法進行調整。

3. plotly繪圖原理

首先在介紹這個圖的繪圖原理之前,我們先簡單介紹一下plotly這個繪圖庫。

  • plotly是一個基于javascript的繪圖庫,plotly繪圖種類豐富,效果美觀;

  • 易于保存與分享plotly的繪圖結果,并且可以與Web無縫集成;

  • ploty默認的繪圖結果,是一個HTML網頁文件,通過瀏覽器可以直接查看;

它的繪圖原理和matplotlib、seaborn沒有任何關系,你需要單獨去學習它。同樣我還是提供了一個網址給你,讓你更詳細的學習plotly。

plotly繪圖原理:http://suo.im/5vxNTu

1)繪圖原理說明

通過我自己的學習和理解,我將plotly繪圖原理高度總結為如下幾步:

  • ① 繪制圖形軌跡,在ployly里面叫做trace,每一個軌跡是一個trace。

  • ② 將軌跡包裹成一個列表,形成一個“軌跡列表”。一個軌跡放在一個列表中,多個軌跡也是放在一個列表中。

  • ③ 創建畫布的同時,并將上述的軌跡列表,傳入到Figure()中。

  • ④ 使用Layout()添加其他的繪圖參數,完善圖形。

  • ⑤ 展示圖形。

2)案例說明

import?numpy?as?np import?pandas?as?pd import?plotly?as?py import?plotly.graph_objs?as?go import?plotly.expression?as?px from?plotly?import?toolsdf?=?pd.read_excel("plot.xlsx") # 1.繪制圖形軌跡,在ployly里面叫做`trace`,每一個軌跡是一個trace。 trace0?=?go.Scatter(x=df["年份"],y=df["城鎮居民"],name="城鎮居民") trace1?=?go.Scatter(x=df["年份"],y=df["農村居民"],name="農村居民") # 2.將軌跡包裹成一個列表,形成一個“軌跡列表”。一個軌跡放在一個列表中,多個軌跡也是放在一個列表中。 data?=?[trace0,trace1] # 3.創建畫布的同時,并將上述的`軌跡列表`,傳入到`Figure()`中。 fig?=?go.Figure(data) # 4.使用`Layout()`添加其他的繪圖參數,完善圖形。 fig.update_layout(title="城鄉居民家庭人均收入",xaxis_title="年份",yaxis_title="人均收入(元)" ) # 5.展示圖形。 fig.show()

結果如下:

4. pyecharts繪圖原理

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

pyecharts分為v0.5和v1兩個大版本,v0.5和v1兩個版本不兼容,v1是一個全新的版本,因此我們的學習盡量都是基于v1版本進行操作。

和plotly一樣,pyecharts的繪圖原理也是完全不同于matplotlib和seaborn,我們需要額外的去學習它們的繪圖原理,基于此,同樣提供一個網址給你,讓你更詳細的學習pyecharts。

pyecharts的繪圖原理:http://suo.im/5S1PF1

1)繪圖原理說明

通過我自己的學習和理解,我將plotly繪圖原理高度總結為如下幾步:

  • ① 選擇圖表類型;

  • ② 聲明圖形類并添加數據;

  • ③ 選擇全局變量;

  • ④ 顯示及保存圖表;

2)案例說明

# 1.選擇圖表類型:我們使用的是線圖,就直接從charts模塊中導入Line這個模塊; from?pyecharts.charts?import?Line import?pyecharts.options?as?opts import?numpy?as?npx?=?np.linspace(0,2?*?np.pi,100) y?=?np.sin(x)(# 2.我們繪制的是Line線圖,就需要實例化這個圖形類,直接Line()即可;Line()# 3.添加數據,分別給x,y軸添加數據;.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()) ).render_notebook()?# 4.render_notebook()用于顯示及保存圖表;

結果如下:

小結

通過上面的學習,我相信肯定會讓大家對于這些庫的繪圖原理,一定會有一個新的認識。

其實其實不管是任何編程軟件的繪圖庫,都有它的繪圖原理。我們與其盲目的去繪制各種各樣的圖形,不如先搞清楚它們的套路后,再去進行繪圖庫的圖形練習,這樣下去,我覺得大家會有一個很大的提高。

- End -

由于微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:

(1)點擊頁面最上方“小詹學Python”,進入公眾號主頁。 (2)點擊右上角的小點點,在彈出頁面點擊“設為星標”,就可以啦。 感謝支持,比心。

總結

以上是生活随笔為你收集整理的肝!深度讲解Python四大常用绘图库的“绘图原理”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。