Pandas知識點-繪制統(tǒng)計圖
共
2891字,需瀏覽
6分鐘
·
2021-04-02 12:39

使用matplotlib可以繪制各種各樣的統(tǒng)計圖,Pandas對matplotlib中的繪圖方法進行了更高層的封裝,使用起來更簡單方便。
本文介紹Pandas中最基本的幾種統(tǒng)計圖的繪制方法,都非常常用。
一、數(shù)據(jù)準備
數(shù)據(jù)文件是600519.csv,將此文件放到代碼同級目錄下,從文件中讀取出數(shù)據(jù)。
為了使數(shù)據(jù)簡潔一點,刪除了一些列,設置“日期”為索引。

讀取的原始數(shù)據(jù)如上圖,本文基于這些數(shù)據(jù)來繪制統(tǒng)計圖。
二、繪制折線圖

Pandas中直接用Series對象或DataFrame對象調用plot()方法既可以繪制統(tǒng)計圖。
kind: 使用kind參數(shù)指定圖形的種類,line表示折線圖,scatter表示散點圖,bar表示柱狀圖,barh表示水平柱狀圖,hist表示直方圖,pie表示餅圖。這六種圖形是最常用的圖形,kind還支持其他圖形,如box表示箱圖等。
figsize: 使用figsize參數(shù)設置圖形的大小,參數(shù)格式為(width, height)。
xlabel: 圖形中會顯示x軸的標簽,可以使用xlabel參數(shù)修改或設置不顯示,ylabel同理。
繪圖時為了顯示(show()方法)圖形,會導入matplotlib.pyplot(as plt),可以使用plt對象的xticks()方法設置x軸刻度值,刻度值的傾斜度等,yticks()同理。可以使用text()方法添加圖形中的數(shù)值標簽。

kind參數(shù)默認為line,在繪制折線圖時可以不指定kind參數(shù)。
linestyle: 使用linestyle參數(shù)設置折線圖的線型,如'--'表示虛線,'-.'表示點線等。
marker: 使用marker參數(shù)設置折線圖中數(shù)值點的樣式,可以設置'o','*'等。
用DataFrame對象繪制折線圖時,有多組數(shù)據(jù),調用plot()方法會自動繪制出條折線圖,并且自動設置好圖例,比matplotlib方便很多。
三、繪制散點圖

設置kind參數(shù)為scatter即可繪制散點圖。
需要注意的是,在Pandas中,scatter不支持Series對象,只支持DataFrame對象,所以不能用Series對象繪制散點圖。
繪制散點圖時,通過x參數(shù)和y參數(shù)指定散點圖的x軸數(shù)據(jù)和y軸數(shù)據(jù)。x和y都是DataFrame中的列標簽,繪圖時會根據(jù)列標簽讀取對應列的數(shù)據(jù)。

在Pandas中,繪制圖形除了在plot()中指定kind參數(shù)外,還可以通過plot鏈式調用對應的方法,如plot.scatter()表示繪制散點圖,后面繪制柱狀圖、直方圖、餅圖等也可以用鏈式調用的方式。
alpha: 設置圖形顯示的透明度,默認是None,可以傳入0~1之間的數(shù),值越小越透明。
marker參數(shù)與折線圖中的用法相同,當設置成'*'時,顯示的圖形為五角星,當然還有很多其他的類型,可以參考matplotlib中的markers模塊。
c: c參數(shù)用于設置散點圖的顏色,可以指定一個顏色,也可以設置成一個數(shù)組或浮點數(shù),如例子中使用numpy生成一個隨機的數(shù)組,顏色隨機從cmap中獲取。
cmap: cmap參數(shù)用于設置點的顏色熱力圖,默認為image.cmap,可以設置成自己需要的顏色類型,參考matplotlib中的colors模塊。只有當顏色參數(shù)c設置成數(shù)組或浮點數(shù)時,cmap參數(shù)才有用。
設置cmap參數(shù)后,會在圖形右邊生成一個柱狀的顏色漸變圖,就像下圖這樣。此時x軸的刻度值會被自動隱藏,將colorbar參數(shù)設置成False,可以隱藏顏色漸變圖,重新顯示x軸刻度值。

s參數(shù)也可以設置成一個數(shù)組,如例子中也是用numpy生成一個隨機的數(shù)組,使每個點的大小不一樣。
四、繪制柱狀圖

使用plot鏈式調用bar()方法,或在plot()中設置kind為bar,都可以繪制柱狀圖。
width: width參數(shù)用于設置柱狀圖的寬度,默認為0.8,可以根據(jù)需要進行修改。柱狀圖的每一組柱子是獨立的,所以中間留好適合的間距會更好,width一般都設置成小于1。
bottom: bottom參數(shù)用于設置柱狀圖的底部位置(使柱狀圖“上浮”),默認為0,這個參數(shù)一般不需要修改,保持0即可。設置bottom參數(shù)后,柱狀圖會沿y軸方向上移,如設置為200,則柱狀圖上移200,從y坐標為200的地方開始繪制,柱狀圖的長度不發(fā)生改變。例子中的0.5相對于2000多的數(shù)值差距太大,看不出來。
color: color參數(shù)用于設置柱狀圖的顏色,前面折線圖和散點圖是用c參數(shù),有一點差異。當柱狀圖中有多組數(shù)據(jù)時,最好傳入一個數(shù)組,使不同組的柱狀圖顏色不一樣,方便區(qū)分。
五、繪制水平柱狀

使用plot鏈式調用barh()方法,或在plot()中設置kind為barh,就可以繪制水平柱狀圖了,參數(shù)用法與bar()方法一樣。當然,在設置x軸刻度值,y軸刻度值,數(shù)值標簽等時要注意方向的轉換。
六、繪制直方圖

使用plot鏈式調用hist()方法,或在plot()中設置kind為hist,都可以繪制直方圖。這里要強調的是,直方圖不是柱狀圖,兩者的應用場景完全不同。
繪制直方圖前,要根據(jù)數(shù)據(jù)的分布設置好適合的組距,然后根據(jù)組距計算出組數(shù)。bins: bins參數(shù)用于設置直方圖的組數(shù),傳入計算的組數(shù)。
如果需要顯示圖例,使用plt對象的legend()方法設置即可。
七、繪制餅圖

使用plot鏈式調用pie()方法,或在plot()中設置kind為pie,都可以繪制餅圖(扇形圖)。
餅圖是用于展示數(shù)據(jù)占比的,所以要先確定數(shù)據(jù)是否符合預期,如果不符合要先進行處理。
autopct: autopct參數(shù)用于設置餅圖中的百分比格式,如'%.2f%%'表示保留兩位小數(shù)。
colors: colors參數(shù)用于設置每個扇形的顏色,與數(shù)據(jù)分類一一對應,傳入一個長度與數(shù)據(jù)分類數(shù)相等的列表。
explode: explode參數(shù)用于設置每個扇形到圓心的距離,傳入一個長度與數(shù)據(jù)分類數(shù)相等的列表,默認每個扇形到圓心的距離都是0,將想要分離展示的扇形距離設置成一個適合的值,如0.1,即可將該部分突出展示。
pctdistance: pctdistance參數(shù)用于設置百分比顯示離圓心的距離,默認值是0.6,可以按需將pctdistance參數(shù)增大或減小。
textprops: textprops參數(shù)用于設置標簽和百分比的字體、大小等,傳入一個字典。
以上就是Pandas中六種常用統(tǒng)計圖的繪制介紹,如果需要代碼和數(shù)據(jù),可以點擊關注公眾號“Python碎片”,然后在后臺回復“pandas05”關鍵字獲取本文代碼和數(shù)據(jù)。
瀏覽
122點贊
評論
收藏
分享

手機掃一掃分享
分享
舉報
點贊
評論
收藏
分享

手機掃一掃分享
分享
舉報
丁香五月激情六月
|
国产一线在线
|
超碰在线国产
|
大香蕉之久久
|
国产精品特级s毛片
|