您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python中怎么用matplotlib繪制直方圖”,在日常操作中,相信很多人在Python中怎么用matplotlib繪制直方圖問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python中怎么用matplotlib繪制直方圖”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
直方圖是一種可視化表示數據在連續間隔或者特定時間段內容的分布情況
直方圖又稱為質量分布圖,屬于條行圖的一種
直方圖x軸表示數據類型,縱軸表示分布情況,每個數據寬度可以任意變化
直方圖用于概率分布,展示一組數據在指定范圍內的出現概率
可以用于展示數據分布頻率情況
用于眾數、中位數的位置
關注數據存在缺口或者異常值
導入matplotlib.pyplot模塊
準備數據,可以使用numpy/pandas整理數據
調用pyplot.hist()繪制直方圖
本次案例我們來分析公司員工的身高分布情況
案例數據準備,使用numpy隨機生成200個升高數據
import numpy as np x_value = np.random.randint(140,180,200)
繪制直方圖:
import matplotlib.pyplot as plt plt.hist(x_value,bins=10) plt.title("data analyze") plt.xlabel("height") plt.ylabel("rate") plt.show()
設置長條形顏色關鍵字:facecolor
設置邊框的顏色關鍵字:edgecolor
顏色選擇值:
使用顏色的英語單詞如紅色"red",黃色"yellow"
使用顏色簡稱:紅色"r",藍色"b"
使用rgb:格式(r,g,b),取值范圍:0~1
關鍵字:bins
可選項,默認為10
關鍵字:alpha
默認為0,取值范圍為0~1
關鍵字:histtype
取值說
屬性值 | 說明 |
---|---|
'bar' | 柱狀形數據并排,默認值 |
'barstacked' | 柱狀形數據重疊并排 |
'step' | 柱狀形顏色不填充 |
'stepfilled' | 填充的線性 |
我們對第一節直方圖添加柱狀形不填充,邊框顏色為紅色
plt.hist(x_value,bins=10,edgecolor="r",histtype="step")
邊框設置為紅色,透明度為0.5
plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5)
在直方圖中,我們也可以加一個折線圖,輔助我們查看數據變化情況
首先通過pyplot.subplot()創建Axes對象
通過Axes對象調用hist()方法繪制直方圖,返回折線圖所需要的下x,y數據
然后Axes對象調用plot()繪制折線圖
我們對第一節代碼進行改造一下
fig,ax = plt.subplots() n,bins_num,pat = ax.hist(x_value,bins=10,alpha=0.75) ax.plot(bins_num[:10],n,marker = 'o',color="yellowgreen",line)
我們有時候會對吧同樣數據范圍情況下,對比兩組不同對象群體收集的數據差異
準備兩組數據:
import numpy as np x_value = np.random.randint(140,180,200) x2_value = np.random.randint(140,180,200)
直方圖屬性data:以列表的形式傳入兩組數據
設置直方圖stacked:為True,允許數據覆蓋
plt.hist([x_value,x2_value],bins=10,stacked=True)
我們上述繪制的直方圖都是等距的,我們可以指定一組數據傳入bins屬性
bins 關鍵字:指定直方圖的柱狀形個數
更改上述的代碼后,看看效果吧
bin_num = [140,155,160,170,175,180] plt.hist([x_value,x2_value],bins=bin_num,alpha=0.75,stacked=True)
我們在使用直方圖查查看數據的頻率時,有時候會查看多種類型數據出現的頻率。
這時候我們可以以列表的形式傳入多種數據給hist()方法的x數據
x_value = [np.random.randint(140,180,i) for i in [100,200,300]] plt.hist(x_value,bins=10,edgecolor="r",histtype="bar",alpha=0.5,label=["A公司","B公司","C公司"])
到此,關于“Python中怎么用matplotlib繪制直方圖”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。