1. 程式人生 > >Python-matplotlib 畫直方圖hist

Python-matplotlib 畫直方圖hist

python 畫圖

首先要理清楚一個概念,直方圖與條形圖。
直方圖與條形圖的區別:
條形圖是用條形的長度表示各類別頻數的多少,其寬度(表示類別)則是固定的;
直方圖是用面積表示各組頻數的多少,矩形的高度表示每一組的頻數或頻率,寬度則表示各組的組距,因此其高度與寬度均有意義。
由於分組數據具有連續性,直方圖的各矩形通常是連續排列,而條形圖則是分開排列。
條形圖主要用於展示分類數據,而直方圖則主要用於展示數據型數據。

示例代碼:
[python] view plain copy
#概率分布直方圖
#高斯分布
#均值為0
mean = 0
#標準差為1,反應數據集中還是分散的值
sigma = 1
x=mean+sigma*np.random.randn(10000)

fig,(ax0,ax1) = plt.subplots(nrows=2,figsize=(9,6))
#第二個參數是柱子寬一些還是窄一些,越大越窄越密
ax0.hist(x,40,normed=1,histtype=‘bar‘,facecolor=‘yellowgreen‘,alpha=0.75)
##pdf概率分布圖,一萬個數落在某個區間內的數有多少個
ax0.set_title(‘pdf‘)
ax1.hist(x,20,normed=1,histtype=‘bar‘,facecolor=‘pink‘,alpha=0.75,cumulative=True,rwidth=0.8)
#cdf累計概率函數,cumulative累計。比如需要統計小於5的數的概率
ax1.set_title("cdf")
fig.subplots_adjust(hspace=0.4)
plt.show()

Python-matplotlib 畫直方圖hist