数据处理工具(一)——Matplotlib
文章目錄
- 致謝
- 1 Matplotlib
- 1.1 什么是Matplotlib
- 1.2 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖
- 1.3 Matplotlib三層結(jié)構(gòu)
- 1.3.1 容器層
- 1.3.2 輔助顯示層
- 1.3.3 圖像層
- 1.3 使用模塊
- 1.3.1 畫布的設(shè)置
- 1.3.2 添加網(wǎng)格輔助背景
- 1.3.3 附加屬性
- 1.3.4 標(biāo)簽
- 1.3.5 刻度
- 1.3.6 一個(gè)圖上多條線
- 1.3.7 子區(qū)域
- 1.4 基礎(chǔ)圖表
- 1.4.1 折線圖
- 1.4.2 散點(diǎn)圖
- 1.4.3 柱狀圖
- 1.4.4 直方圖
- 1.4.5 餅圖
- 1.4.6 小結(jié)
致謝
Matplotlib subplot2grid()函數(shù)的詳細(xì)介紹及操作實(shí)例-立地貨 (lidihuo.com)
直方圖和柱狀圖的區(qū)別有哪些_Amanda_python的博客-CSDN博客_直方圖和柱狀圖的區(qū)別
1 Matplotlib
1.1 什么是Matplotlib
Matplotlib是一種專門用于開發(fā)2D圖表的一種工具包,盡管它也能開發(fā)3D圖表,但是我們很少會(huì)去使用他。我們通常用其來使數(shù)據(jù)可視化,其英文來源Matplotlib可以分解為三個(gè)單詞:mat——matrix(矩陣),plot——plot(畫圖),lib——library(庫(kù))。其方法實(shí)際上和matlab一樣。而之所以不使用matlab是因?yàn)樗⒉幻赓M(fèi)。
1.2 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖
import matplotlib.pyplot as pltplt.figure() plt.plot([1, 0, 9], [4, 5, 6]) plt.show()1.3 Matplotlib三層結(jié)構(gòu)
1.3.1 容器層
容器層主要由Canvas、Figure、Axes組成。其中Canvas是位于最底層的系統(tǒng)層,在繪圖的過程中充當(dāng)畫板的角色,即放置畫布(Figure)的工具;Figure是Canvas上方的第一層,也是需要用戶來操作的應(yīng)用層的第一層,在繪圖的過程中充當(dāng)畫布的角色;而Axes是應(yīng)用層的第二層,在繪圖的過程中相當(dāng)于畫布上的繪圖區(qū)的角色。
- Figure:指整個(gè)圖形(可以通過plt.figure()設(shè)置畫布的大小和分辨率)
- Axes(坐標(biāo)系):數(shù)據(jù)的繪圖區(qū)域
- Axis(坐標(biāo)軸):坐標(biāo)系中的一條軸,包含大小限制、刻度和刻度標(biāo)簽
容器層的特點(diǎn)為:
一個(gè)figure(畫布)可以包含多個(gè)axes(坐標(biāo)系/繪圖區(qū)),但是一個(gè)axes只能屬于一個(gè)figure。
一個(gè)axes(坐標(biāo)系/繪圖區(qū))可以包含多個(gè)axis(坐標(biāo)軸),包含兩個(gè)即為2d坐標(biāo)系,3個(gè)即為3d坐標(biāo)系。
總結(jié)來說,Canvas是畫板、Figure是白紙,Axes是紙上面的框架。當(dāng)我們想要在白紙上面畫多個(gè)圖像,我們可以使用plt.subplots來分區(qū)。
1.3.2 輔助顯示層
輔助顯示層指的是繪圖區(qū)內(nèi)的除了根據(jù)數(shù)據(jù)繪制出的圖像以外的內(nèi)容,比如繪制風(fēng)格、邊框線、坐標(biāo)軸、坐標(biāo)名、刻度、網(wǎng)格線、圖例、標(biāo)題等。
1.3.3 圖像層
在圖像層中,我們可以在Axes之中使用plot、scatter、bar、histogram、pie等函數(shù)根據(jù)數(shù)據(jù)繪制出圖像。
1.3 使用模塊
1.3.1 畫布的設(shè)置
我們從最簡(jiǎn)單的開始一步一步深入,我們想要繪制關(guān)于一周內(nèi)天氣的折線圖。
plot方法可用于畫圖,其可以傳入列表,當(dāng)傳入一個(gè)列表時(shí),默認(rèn)為y所在位置。當(dāng)傳入兩個(gè)列表時(shí),第一個(gè)列表為x所在位置,第二個(gè)列表為y所在位置。
import matplotlib.pyplot as pltplt.figure() plt.plot([1, 2, 3, 4, 5, 6, 7], [17, 17, 18, 15, 11, 11, 13]) plt.show()如果我們要設(shè)置畫布的大小和畫布的分辨率,我們可以在figure的有參構(gòu)造器中設(shè)置。
import matplotlib.pyplot as plt %matplotlib inlineplt.figure(figsize=(20,8),dpi = 80) plt.plot([1, 2, 3, 4, 5, 6, 7], [17, 17, 18, 15, 11, 11, 13]) plt.show()如果你要保存這個(gè)畫布中的內(nèi)容,除了可以直接右鍵保存圖片外,還可以使用下面的方法:
import matplotlib.pyplot as plt %matplotlib inlineplt.figure(figsize=(20,8),dpi = 80) plt.plot([1, 2, 3, 4, 5, 6, 7], [17, 17, 18, 15, 11, 11, 13]) plt.savefig("路徑") plt.show()需要注意的是,保存圖片這個(gè)方法不可以置于show方法之后,否則show方法執(zhí)行時(shí),上述的圖片資源會(huì)被釋放,再用savefig保存的圖片是一張空白圖。
1.3.2 添加網(wǎng)格輔助背景
如果想要添加網(wǎng)格背景,可以調(diào)用plt.grid方法,其方法默認(rèn)關(guān)閉,如果要開啟,需要手動(dòng)給構(gòu)造器一個(gè)True。在打開后,grid方法還擁有多種附加屬性,你可以自己查看API去添加。
import matplotlib.pyplot as plt plt.plot([3,1,4,5,2]) plt.ylabel('grade') plt.grid(True,linestyle = '--',alpha = 0.5) plt.show()1.3.3 附加屬性
我們這一小節(jié)來講講附加屬性。我們首先來看一下plot的API。
Plt.plot(x,y,format_string,**kwargs)
- X:x軸數(shù)據(jù),列表或者數(shù)組,可選。
- Y:y軸數(shù)據(jù),列表或者數(shù)組。
- Format_string:控制曲線的格式字符串,可選
- **kwargs:第二組或更多(x,y.format_string)
對(duì)于kwargs,可以是更多附加屬性,也可以是第二組列表。
更多附加屬性有:
-
linewidth:線條寬度(可取0~10,默認(rèn)1.5)
-
Color:控制顏色
? 控制顏色只需寫對(duì)應(yīng)的英文首字母即可
-
Linestyle:線條風(fēng)格
-
Marker:標(biāo)記風(fēng)格(可取’o’'D’等20種,默認(rèn)為None)
-
Markerfacecolor:標(biāo)記顏色
-
Markersize:標(biāo)記尺寸(取0~10的數(shù)值,默認(rèn)為1)
線條風(fēng)格有:
- "-"實(shí)線
- "–"破折線
- "-."點(diǎn)劃線
- ":"虛線
- "“無線條
線條上的標(biāo)記有:
- ","像素標(biāo)記
- "o"實(shí)習(xí)圈標(biāo)記
- "v"倒三角標(biāo)記
- "^"上三角標(biāo)記
- ">"右三角
- "<"左三角
- "1"下花三角
- "2"上花三角
- "3"左花三角
- "4"右花三角
- "s"實(shí)習(xí)方形
- "p"實(shí)心五角
- "*"星形
- "h"豎六邊形
- "H"橫六邊形
字體有:
- SimHei:黑體
- Kaiti:楷體
- Lisu:隸書
- Fangsong:仿宋
- You yaun:幼圓
- Stsong:宋體
1.3.4 標(biāo)簽
我們可以為我們的折線圖設(shè)置標(biāo)簽。
- plt.xlabel():對(duì)x軸增加文本標(biāo)簽
- plt.ylable():對(duì)y軸增加文本標(biāo)簽
- plt.title():對(duì)圖形整體增加文本標(biāo)簽
- plt.text():對(duì)任意位置增加文本
- plt.annotate:在圖形上加上帶有箭頭的注解
- plt.legend():添加圖例
需要注意的是,在輸入中文標(biāo)簽的時(shí)候,matplotlib是不支持中文的,所以輸出的圖像會(huì)有空白。為了解決這個(gè)問題,我們可以使用以下的方法。
第一種方法
pyplot并不默認(rèn)支持中文顯示,需要rcParams修改字體實(shí)現(xiàn)。(可以實(shí)現(xiàn),但不推薦,畢竟是全局使用)
import matplotlib.pyplot as plt import matplotlibmatplotlib.rcParams['font.family']='SimHei'其他屬性:
Font.family:用于顯示字體的名字
Font.style:字體風(fēng)格,正?!畁ormal’或斜體‘italic’
Font.size:字體大小,整數(shù)字號(hào)或者‘large’,‘x-small’
第二種方法(實(shí)測(cè)還能用)
有中文輸入的地方,增加一個(gè)屬性:fontproperties
Plt.xlabel('橫軸:時(shí)間',fontproperties = 'SimHei',fontsize = 20)1.3.5 刻度
我們來看一下如何給我們的圖像層加上刻度。
xticks(ticks, [labels], **kwargs)
- ticks:數(shù)組類型,用于設(shè)置X軸刻度間隔
- [labels]:數(shù)組類型,用于設(shè)置每個(gè)間隔的顯示標(biāo)簽
- **kwargs:用于設(shè)置標(biāo)簽字體傾斜度和顏色等外觀屬性
1.3.6 一個(gè)圖上多條線
我們?nèi)绻胍谝粋€(gè)折現(xiàn)圖中畫出多條直線,我們可以再次使用plot,也可以在第一個(gè)plot傳入第二組列表。
import matplotlib.pyplot as plt import matplotlibmatplotlib.rcParams['font.family']='SimHei'plt.plot([3,1,4,5,2]) plt.ylabel('溫度') plt.xlabel('時(shí)間') plt.title('一周內(nèi)的天氣變化折線圖') plt.grid(True,linestyle = '--',alpha = 0.5)plt.plot([2,3,1,4,5]) plt.grid(True,linestyle = '--',alpha = 0.5)plt.show()1.3.7 子區(qū)域
工作中往往會(huì)根據(jù)業(yè)務(wù)需求,將繪制的多個(gè)圖形組合到一個(gè)大圖框內(nèi),形成類似儀表盤的效果。
在畫布上面創(chuàng)建子圖有很多方法,這里有四種介紹,但是三種很容易混淆。
subplots和subplot
兩個(gè)參數(shù)基本一樣,但是區(qū)別就是subplots是直接創(chuàng)建一個(gè)畫布和一個(gè)或多個(gè)子圖返回,而subplot添加一個(gè)子圖到當(dāng)前畫布,它會(huì)刪除前面覆蓋的子圖。
如果想一次性的創(chuàng)建多個(gè)子圖,就使用subplots函數(shù),如果想一個(gè)一個(gè)地添加子圖,就使用subplot函數(shù),這是他們的主要區(qū)別。
在如今的開發(fā)中,subplot已經(jīng)被版本淘汰了,使用起來實(shí)際上很不方便,所以這里我們就不再講解它。
matoplotlib.pyplot.subplots(nrow = 1,ncol = 1,**fig_kw)
- 作用:創(chuàng)建一個(gè)帶有多個(gè)axes的圖
- return 畫布figure 和 繪圖區(qū)axes,對(duì)于不同的axes對(duì)象,采用的不再是plt.方法,而是使用axes.方法,且方法名不同
- set_xticks
- set_yticks
- set_xlabel
- set_ylabel
學(xué)完上面的知識(shí)后,讓我們來試試下面的案例:
import matplotlib.pyplot as plt import random import matplotlib matplotlib.rcParams['font.family']='SimHei'# 1 準(zhǔn)備數(shù)據(jù)x,y x = range(60) y_shanghai = [random.uniform(15,18) for i in x] y_beijing = [random.uniform(1,3) for i in x]# 2 創(chuàng)建畫布 figure,axes = plt.subplots(nrows = 1,ncols = 2,figsize = (20,8),dpi = 80)# 3 繪制圖像 axes[0].plot(x,y_shanghai,color = "r",linestyle = "-.",label = "上海") axes[1].plot(x,y_beijing,color = "b",label = "北京")# 4 顯示圖例 axes[0].legend() axes[1].legend()# 5 修改刻度 x_label = ["11點(diǎn){}分".format(i) for i in x] axes[0].set_xticks(x[::5],x_label[::5]) axes[0].set_yticks(range(0,40,5)) axes[1].set_xticks(x[::5],x_label[::5]) axes[1].set_yticks(range(0,40,5))# 6 添加網(wǎng)格顯示 plt.grid(linestyle = "--",alpha = 0.5)# 7 添加描述信息 axes[0].set_xlabel("時(shí)間變化") axes[0].set_ylabel("溫度變化") axes[0].set_title("上海11點(diǎn)到12點(diǎn)每分鐘的溫度變化狀況") axes[1].set_xlabel("時(shí)間變化") axes[1].set_ylabel("溫度變化") axes[1].set_title("上海11點(diǎn)到12點(diǎn)每分鐘的溫度變化狀況")# 8 顯示圖 plt.show()除了上面的方法,還有下面兩種:
plt.subplot2grid()
plt.subplot2grid(Gridspec,Curspec,colspan = 1,rowspan = 1,**kwargs)
-
Matplotlib subplot2grid()函數(shù)在網(wǎng)格的特定位置創(chuàng)建軸對(duì)象提供了更大的靈活性。它還允許軸對(duì)象跨越多個(gè)行或列
-
shape:指定組合圖的框架形狀,以元組形式傳遞,如2*3的矩陣可以表示成(2,3)
-
loc:指定子圖所在的位置,如shape中第一行第一列可以表示成(0,0)
-
rowspan:指定某個(gè)子圖需要跨幾行
-
colspan:指定某個(gè)子圖需要跨幾列
可以用下面的例子試試手!
import matplotlib.pyplot as plt import numpy as np import math # 顯示中文設(shè)置... plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字體) plt.rcParams['axes.unicode_minus'] = False # 步驟二(解決坐標(biāo)軸負(fù)數(shù)的負(fù)號(hào)顯示問題) a1 = plt.subplot2grid((3,3),(0,0),colspan = 2) a2 = plt.subplot2grid((3,3),(0,2), rowspan = 3) a3 = plt.subplot2grid((3,3),(1,0),rowspan = 2, colspan = 2) x = np.arange(1,10) a2.plot(x, x*x) a2.set_title('平方') a1.plot(x, np.exp(x)) a1.set_title('指數(shù)') a3.plot(x, np.log(x)) a3.set_title('log') plt.tight_layout() plt.show()Gridspec類
模塊gridspec是一個(gè)可以指定畫布中子區(qū)位置或者說是布局的"分區(qū)"模塊。在模塊gridspec中,有一個(gè)類GridSpec,他可以指定網(wǎng)格的幾何形狀。
import matplotlib.gridspec as gr import matplotlib.pyplot as plt gs = gr.GridSpec(3,3) ax1 = plt.subplot(gs[0,:]) ax2 = plt.subplot(gs[1,:1]) ax3 = plt.subplot(gs[1:,-1])plt.show()這里ax1,ax2,ax3是選定在子區(qū)域里面的特定區(qū)間來劃分,可以通過類似于列表中的切片操作來確定所選區(qū)域。
1.4 基礎(chǔ)圖表
plt不止可以利用plot方法畫出折線圖,實(shí)際上,他還能畫出各種數(shù)學(xué)圖像,如下所示:
- plt.plot(x,y,fmt,…):繪制一個(gè)坐標(biāo)圖
- plt.boxplot(data,notch,position):繪制一個(gè)箱型圖
- plt.bar(left,height,width,bottom):繪制一個(gè)條形(柱狀)圖
- plt.barh(width,bottom,left,height):繪制一個(gè)橫向條形圖
- plt.polar(theta,r):繪制極坐標(biāo)圖
- plt.pie(date,explode):繪制餅圖
- plt.psd(x,NFF = 256,pad_to,Fs):繪制功率譜密度圖
- plt.specgram(x,NFF = 256,pad_to,F):繪制譜圖
- plt.cohere(x,y,NFFT=256,Fs):繪制X-Y的相關(guān)性函數(shù)
- plt.scatter(x,y):繪制散點(diǎn)圖,其中x和y長(zhǎng)度相同
- plt.step(x,y,where):繪制步階圖
- plt.hist(x,bins,normed):繪制直方圖
- plt.contour(x,y,z,n):繪制等值圖
- plt.vlines():繪制垂直圖
- plt.stem(x,y,linefmt,marterfmt):繪制柴火圖
- plt.plot_date():繪制數(shù)據(jù)日p
在下面的講解中,我們會(huì)慢慢地去了解一些常用的圖表。
1.4.1 折線圖
實(shí)際上前面講到的plot方法是可以繪制各種函數(shù)圖像的,但是它常用于繪制折線圖。
當(dāng)我們的點(diǎn)使用離散的值,如離散列表或離散元組,那么其畫出來的是折線圖;當(dāng)我們的點(diǎn)取得非常密集的時(shí)候,折線圖就會(huì)變成一條平滑的曲線,如二次函數(shù)圖像的繪制我們可以采用以下的方式:
# 1 準(zhǔn)備x,y數(shù)據(jù) x = np.linspace(-1,1,1000) y = 2 * x * x# 2 創(chuàng)建畫布 plt.figure(figsize = (20,8),dpi = 80)# 3 繪制圖像 plt.plot(x,y)# 4 添加網(wǎng)格顯示 plt.grid(linestyle = "--",alpha = 0.5)# 5 顯示圖像 plt.show()1.4.2 散點(diǎn)圖
我們來看一下散點(diǎn)圖的方法。
matplotlib.pyplot.scatter(x,y,s = None,c = None,marker = None,alpha = None)
- x,y:接受array,表示x軸和Y軸對(duì)應(yīng)的數(shù)據(jù),無默認(rèn)
- s:接收數(shù)值或者一維的array,指定點(diǎn)的大小,若傳入一維array則表示每個(gè)點(diǎn)的大小,默認(rèn)為None
讓我們來繪制一個(gè)簡(jiǎn)單的散點(diǎn)圖吧!
import matplotlib.pyplot as plt import numpy as np# 1 準(zhǔn)備x,y數(shù)據(jù) x = np.random.randn(100) y = np.random.randn(100)# 2 創(chuàng)建畫布 plt.figure(dpi = 80)# 3 繪制圖像 plt.scatter(x,y,7) #指定點(diǎn)的大小為7 plt.title('Scatter') #指定圖像標(biāo)題# 4 展示圖像 plt.show()1.4.3 柱狀圖
我們來看一下柱狀圖的方法。
matplotlib.pyplot.bar(left , height , alpha = 1 ,width = 0.8 , bottom = none , data = none , **kwargs)
- left:x軸位置序列
- height:
- alpha:透明度
- bottom:底部柱形變量
- data:可以使用可被索引的對(duì)象數(shù)據(jù)類型
其他關(guān)鍵字參數(shù)如下:
- color:柱形填充顏色
- edgecolor:柱形邊框顏色
- label:標(biāo)簽
- lw:柱形邊框?qū)挾?/li>
讓我們來繪制一個(gè)簡(jiǎn)單的柱形圖:
# 1 準(zhǔn)備數(shù)據(jù) movie_names = ['雷神3:諸神黃昏','正義聯(lián)盟','東方快車謀殺案','降魔傳'] tickets = [73853,57767,22354,15969]# 2 創(chuàng)建畫布 plt.figure(dpi = 80)# 3 繪制柱狀圖 x_ticks = range(len(movie_names)) plt.bar(x_ticks,tickets,width = 0.5,color = ['b','r','g','y'])# 4 修改刻度 plt.xticks(x_ticks,movie_names)# 5 添加網(wǎng)格顯示 plt.grid(linestyle = "--",alpha = 0.5)# 6 加標(biāo)簽 plt.title("各大電影票房")# 7 繪制圖像 plt.show()當(dāng)然,如果取值為負(fù),還能畫出倒影柱狀圖。
1.4.4 直方圖
直方圖和柱狀圖有所區(qū)別,主要區(qū)別如下:
- 柱狀圖是根據(jù)數(shù)據(jù)直接得到一個(gè)數(shù)據(jù)的結(jié)果,只是比較數(shù)據(jù)的大小,直方圖是根據(jù)原數(shù)據(jù)做一個(gè)頻次的分布
- 直方圖柱子無間隔,柱狀圖柱子有間隔
- 直方圖描述數(shù)值變量(x軸是一條線),柱狀圖描述分類變量(x軸是分類變量)
- 直方圖一般用來描述等距數(shù)據(jù)或等比數(shù)據(jù),柱形圖一般用來描述數(shù)據(jù)名稱或順序數(shù)據(jù)
- 通過直方圖可以觀察和估計(jì)哪些數(shù)據(jù)比較集中
畫直方圖的方法如下:
hist (x, bins = 10,range = none,density = false,weight = none,cumulative = false,bottom = none,histtype = u’bar’,align = u’mid’,orientation = u’vertical’,rwidth = none,log = false,color = none,label = none,stacked = false,** kwargs)
- x:直方圖中數(shù)據(jù),可以是n維數(shù)組或者n維數(shù)組序列,多維數(shù)組長(zhǎng)度不要求一致
- bins:劃分的組數(shù),可以傳入整數(shù)或序列或auto
- range:bins參數(shù)的邊界,如果bins是第一個(gè)序列則無效,否則是(x.min(),x.max())
其他的參數(shù)就不說了,需要用再去查吧。
# 導(dǎo)入模塊 import numpy as np import matplotlib as plt#電影時(shí)長(zhǎng)分布狀況 # 1 準(zhǔn)備數(shù)據(jù) time = [131,98,125,131,124,139,113,117,128,108]# 2 創(chuàng)建畫布 plt.figure(dpi = 80)# 3 背景網(wǎng)格 plt.grid(linestyle = "-",alpha = 0.5)# 4 繪制直方圖 distance = 2 group_num = (max(time)-min(time))/distanceplt.hist(time)# 5 修改刻度 plt.xticks(range(min(time),max(time),distance))# 7 顯示圖像 plt.show()1.4.5 餅圖
讓我們看一下餅圖繪圖的方法。
pie函數(shù)各類詳解:
參數(shù):
- X:指定繪圖的數(shù)據(jù)
- Explode:指定餅圖某些部分的突出顯示,即呈現(xiàn)爆炸式
- Labels:為餅圖添加標(biāo)簽說明,類似于圖例說明
- Colors:指定餅圖的填充色
- Autopct:自動(dòng)添加百分比顯示,可以采用格式化的方法顯示
- Pctdistance:設(shè)置百分比標(biāo)簽和圓心的距離
- Shadow:是否添加餅圖的陰影效果
- Labeldistance:設(shè)置各個(gè)扇形標(biāo)簽(圖例)與圓心的距離
- Startangle:設(shè)置餅圖的初始擺放角度
- Radius:設(shè)置餅圖的半徑大小
- Counterclock:是否讓餅圖按逆時(shí)針順序呈現(xiàn)
- Wedgeprops:設(shè)置餅圖內(nèi)外邊界的屬性,如邊界線的粗細(xì)、顏色等
- Textprops:設(shè)置餅圖中文本的屬性,如字體大小、顏色等
- Center:指定餅圖的中心點(diǎn)位置,默認(rèn)為原點(diǎn)
- Frame:是否要顯示餅圖后面的圖框,如果是Ture,需要同時(shí)控制圖框x軸,y軸的范圍和餅圖的中心位置
讓我們來試一試!
import matplotlib.pyplot as plt labels = 'Frog','Hogs','Dogs','Logs' sizes = [15,30,45,10] explode = (0,0.1,0,0) plt.pie(sizes,explode = explode,labels = labels,autopct = '%1.1f%%',shadow = False,startangle = 90) plt.show()讓我們搞一個(gè)更復(fù)雜的!
import matplotlib.pyplot as plt# 1 修正全局中文 matplotlib.rcParams['font.family']='SimHei'# 2 傳入數(shù)據(jù) labels = u'汽車',u'火車',u'輪船',u'單車',u'自行車',u'步行' sizes = [15,14,16,25,20,10]# 3 指定各部分?jǐn)?shù)據(jù)在餅圖的顏色 color = 'r','g','y','b','w','p'# 4 設(shè)定餅圖突出部分 explode = (0,0.2,0,0,0,0)# 5 繪制餅圖 plt.pie(sizes,explode = explode,labels = labels,autopct = '%1.1f%%',shadow = True,startangle = 90)# 6 使xy同方向延伸 plt.axis('equal')# 7 設(shè)置標(biāo)題 plt.title('你認(rèn)為別人去學(xué)校采用什么方式',fontproperties = 'SimHei',fontsize = 20)# 8 設(shè)置圖例 plt.legend()# 9 顯示餅圖 plt.show()1.4.6 小結(jié)
除了以上的圖形以外,其他的圖就不再概述了,因?yàn)楹苌儆玫?。至于如果你想進(jìn)入更深入的學(xué)習(xí),你可以進(jìn)入官方文檔。上面的工具應(yīng)該在你平時(shí)學(xué)習(xí)其他有關(guān)于數(shù)據(jù)的東西時(shí)應(yīng)不停地使用它,以免遺忘。你要明確的一點(diǎn)是:這一講講的是工具,而不是什么理論。
總結(jié)
以上是生活随笔為你收集整理的数据处理工具(一)——Matplotlib的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp版新闻发布今日弄好
- 下一篇: 仿人机器人(五连杆、七连杆)拉格朗日动力