Pandas繪圖函數(shù)超詳細(xì)講解
簡(jiǎn)介
method | 繪圖類別 | method | 繪圖類別 |
---|---|---|---|
'line' | 折線圖[默認(rèn)使用] | 'area' | 堆疊面積圖 |
'bar' | 縱向條形圖 | 'barh' | 橫向條形圖 |
'kde' | 概率分布圖 | 'density' | 概率分布圖 |
'box' | 箱線圖 | 'hist' | 數(shù)據(jù)直方圖 |
'pie' | 餅圖 | ||
'scatter' | 散點(diǎn)圖 | 'hexbin' | 六角拼接圖 |
其中scatter
和hexbin
只適用于數(shù)據(jù)幀,即DataFrame
格式。所謂DataFrame
,即數(shù)據(jù)幀,可以理解為一個(gè)表格,如果不考慮表頭的話,這個(gè)表格就是多維數(shù)組。
對(duì)于這些圖像類別,也可以調(diào)用專門封裝成的函數(shù)進(jìn)行繪制,例如針對(duì)下面這組數(shù)據(jù)
import matplotlib.pyplot as plt import pandas as pd s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
s.plot.kde()
完全等價(jià)于s.plot(kind='kde')
。
接下來逐個(gè)展示這些圖表
條形圖
pandas中提供橫向和縱向兩種條形圖。
import numpy as np df = pd.DataFrame(np.random.rand(10,5), columns=['a','b','c','d','e']) df.plot.bar(title="bar") df.plot.barh(title="barh", stacked=True) plt.show()
barbarh
折線圖
df.plot.line(title="line") df.plot.area(title="area") plt.show()
linearea
箱線圖
箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數(shù)據(jù)分散情況資料的統(tǒng)計(jì)圖。因形狀如箱子而得名。在各種領(lǐng)域也經(jīng)常被使用,常見于品質(zhì)管理。它主要用于反映原始數(shù)據(jù)分布的特征,還可以進(jìn)行多組數(shù)據(jù)分布特征的比 較。箱線圖的繪制方法是:先找出一組數(shù)據(jù)的上邊緣、下邊緣、中位數(shù)和兩個(gè)四分位數(shù);然后, 連接兩個(gè)四分位數(shù)畫出箱體;再將上邊緣和下邊緣與箱體相連接,中位數(shù)在箱體中間。
df.plot.box(title='box') df.plot.kde(title='kde') plt.show()
boxkde
直方圖
hist
為數(shù)據(jù)直方圖,多條數(shù)據(jù)放在一起容易混淆,可以設(shè)置透明度alpha
。下面對(duì)高斯分布的散點(diǎn)進(jìn)行繪制,分別繪制其數(shù)據(jù)直方圖和概率密度圖,可以看出二者之間的關(guān)聯(lián)性。
rdNormal = np.random.normal rand = np.random.rand df = pd.DataFrame({ i : rdNormal(i,rand(),size=(1000)) for i in range(3)}) df.plot.hist(title='box', bins=30, alpha=0.5) df.plot.density(title='density') plt.show()
histdensity
餅圖
餅圖對(duì)輸入數(shù)據(jù)有一定的限制,即不允許出現(xiàn)負(fù)值,故在繪制之前,將df
所有值取絕對(duì)值,且不支持多組數(shù)據(jù)在一個(gè)圖中繪制,故而需要開啟subplot
選項(xiàng)
df = pd.DataFrame(np.random.rand(5,3),columns=list('abc'),index=list("ABCDE")) df.plot.pie(title='pie', subplots=True) plt.show()
當(dāng)然,這個(gè)subplots
選項(xiàng)是任何一種圖像都可以使用的參數(shù)。
散點(diǎn)圖和六邊形分箱圖
散點(diǎn)圖是只有數(shù)據(jù)幀可以調(diào)用的繪圖方法,共有兩類,分別是scatter
和hexbin
,前者是普通的散點(diǎn)圖,后者是六邊形分箱圖,本質(zhì)上是一種二維的數(shù)據(jù)直方圖。
rdNormal = np.random.normal rand = np.random.rand keys = ['x', 'y', 'c'] datas = { keys[i] : rdNormal(i,rand(),size=(1000)) for i in [0,1,2] } df = pd.DataFrame(datas) df.plot.scatter(x='x', y='y', c='c') df.plot.hexbin(x='x', y='y', gridsize=10) plt.show()
scatter
hexbin
到此這篇關(guān)于Pandas繪圖函數(shù)超詳細(xì)講解的文章就介紹到這了,更多相關(guān)Pandas繪圖函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python numpy實(shí)現(xiàn)rolling滾動(dòng)案例
這篇文章主要介紹了python numpy實(shí)現(xiàn)rolling滾動(dòng)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06python如何求數(shù)組連續(xù)最大和的示例代碼
這篇文章主要介紹了python如何求數(shù)組連續(xù)最大和的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法
這篇文章主要介紹了python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2021-06-06中秋節(jié)老家要貼對(duì)聯(lián)之python無線對(duì)聯(lián)生成器
適逢中秋老家居然有在中秋貼對(duì)聯(lián)的習(xí)俗,于是自己開機(jī)立馬寫了一個(gè)對(duì)聯(lián)生成器,文中給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有參考價(jià)值2021-09-09Django項(xiàng)目使用ckeditor詳解(不使用admin)
今天小編就為大家分享一篇Django項(xiàng)目使用ckeditor詳解(不使用admin),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12