plt.hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, normed=None, *, data=None, **kwargs)
x: 作直方圖所要用的數據,必須是一維數組;多維數組可以先進行扁平化再作圖;必選參數;
bins: 直方圖的柱數,即要分的組數,默認為10;
range:元組(tuple)或None;剔除較大和較小的離群值,給出全局范圍;如果為None,則默認為(x.min(), x.max());即x軸的范圍;
density:布爾值。如果為true,則返回的元組的第一個參數n將為頻率而非默認的頻數;
weights:與x形狀相同的權重數組;將x中的每個元素乘以對應權重值再計數;如果normed或density取值為True,則會對權重進行歸一化處理。這個參數可用於繪制已合並的數據的直方圖;
cumulative:布爾值;如果為True,則計算累計頻數;如果normed或density取值為True,則計算累計頻率;
bottom:數組,標量值或None;每個柱子底部相對於y=0的位置。如果是標量值,則每個柱子相對於y=0向上/向下的偏移量相同。如果是數組,則根據數組元素取值移動對應的柱子;即直方圖上下便宜距離;
align:{‘left’, ‘mid’, ‘right’};‘left’:柱子的中心位於bins的左邊緣;‘mid’:柱子位於bins左右邊緣之間;‘right’:柱子的中心位於bins的右邊緣;
histtype:{‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’};'bar’是傳統的條形直方圖;'barstacked’是堆疊的條形直方圖;'step’是未填充的條形直方圖,只有外邊框;‘stepfilled’是有填充的直方圖;當histtype取值為’step’或’stepfilled’,rwidth設置失效,即不能指定柱子之間的間隔,默認連接在一起;
stacked:布爾值。如果取值為True,則輸出的圖為多個數據集堆疊累計的結果;如果取值為False且histtype=‘bar’或’step’,則多個數據集的柱子並排排列;
orientation:{‘horizontal’, ‘vertical’}:如果取值為horizontal,則條形圖將以y軸為基線,水平排列;簡單理解為類似bar()轉換成barh(),旋轉90°;
rwidth:標量值或None。柱子的寬度占bins寬的比例;
log:布爾值。如果取值為True,則坐標軸的刻度為對數刻度;如果log為True且x是一維數組,則計數為0的取值將被剔除,僅返回非空的(frequency, bins, patches);
color:具體顏色,數組(元素為顏色)或None。
label:字符串(序列)或None;有多個數據集時,用label參數做標注區分;
edgecolor: 直方圖邊框顏色;
alpha: 透明度;
返回值(用參數接收返回值,便於設置數據標簽):
n:直方圖向量,即每個分組下的統計值,是否歸一化由參數normed設定。當normed取默認值時,n即為直方圖各組內元素的數量(各組頻數);
bins: 返回各個bin的區間范圍;
patches:返回每個bin里面包含的數據,是一個list。
其他參數與plt.bar()類似。
