Pandas繪圖函數超詳細講解
簡介
method | 繪圖類別 | method | 繪圖類別 |
---|---|---|---|
'line' |
折線圖[默認使用] | 'area' |
堆疊面積圖 |
'bar' |
縱向條形圖 | 'barh' |
橫向條形圖 |
'kde' |
概率分佈圖 | 'density' |
概率分佈圖 |
'box' |
箱線圖 | 'hist' |
數據直方圖 |
'pie' |
餅圖 | ||
'scatter' |
散點圖 | 'hexbin' |
六角拼接圖 |
其中scatter
和hexbin
隻適用於數據幀,即DataFrame
格式。所謂DataFrame
,即數據幀,可以理解為一個表格,如果不考慮表頭的話,這個表格就是多維數組。
對於這些圖像類別,也可以調用專門封裝成的函數進行繪制,例如針對下面這組數據
import matplotlib.pyplot as plt import pandas as pd s = pd.Series([1, 2, 2.5, 3, 3.5, 4, 5])
s.plot.kde()
完全等價於s.plot(kind='kde')
。
接下來逐個展示這些圖表
條形圖
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)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數據分散情況資料的統計圖。因形狀如箱子而得名。在各種領域也經常被使用,常見於品質管理。它主要用於反映原始數據分佈的特征,還可以進行多組數據分佈特征的比 較。箱線圖的繪制方法是:先找出一組數據的上邊緣、下邊緣、中位數和兩個四分位數;然後, 連接兩個四分位數畫出箱體;再將上邊緣和下邊緣與箱體相連接,中位數在箱體中間。
df.plot.box(title='box') df.plot.kde(title='kde') plt.show()
boxkde
直方圖
hist
為數據直方圖,多條數據放在一起容易混淆,可以設置透明度alpha
。下面對高斯分佈的散點進行繪制,分別繪制其數據直方圖和概率密度圖,可以看出二者之間的關聯性。
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
餅圖
餅圖對輸入數據有一定的限制,即不允許出現負值,故在繪制之前,將df
所有值取絕對值,且不支持多組數據在一個圖中繪制,故而需要開啟subplot
選項
df = pd.DataFrame(np.random.rand(5,3),columns=list('abc'),index=list("ABCDE")) df.plot.pie(title='pie', subplots=True) plt.show()
當然,這個subplots
選項是任何一種圖像都可以使用的參數。
散點圖和六邊形分箱圖
散點圖是隻有數據幀可以調用的繪圖方法,共有兩類,分別是scatter
和hexbin
,前者是普通的散點圖,後者是六邊形分箱圖,本質上是一種二維的數據直方圖。
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
到此這篇關於Pandas繪圖函數超詳細講解的文章就介紹到這瞭,更多相關Pandas繪圖函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一篇文章讓你快速掌握Pandas可視化圖表
- python使用Matplotlib繪制多種常見圖形
- Python Pandas工具繪制數據圖使用教程
- Python高級數據分析之pandas和matplotlib繪圖
- 手把手教你用Matplotlib實現數據可視化