一個(gè)直方圖可以很好的把數(shù)據(jù)展示出來(lái),,Matplotlib庫(kù)中plt.hist()函數(shù)用來(lái)展示直方圖。這個(gè)函數(shù)的使用非常的簡(jiǎn)單,,一行代碼就可以創(chuàng)建一個(gè)直方圖,。 簡(jiǎn)單的直方圖import numpy as npimport matplotlib.pyplot as pltplt.style.use('seaborn-white')data = np.random.randn(1000)plt.hist(data) 自定義直方圖hist()函數(shù)有很多參數(shù),,給我們優(yōu)化默認(rèn)參數(shù)帶來(lái)的不足。 plt.hist(data, bins=30, density=True, alpha=0.5, histtype='stepfilled', color='steelblue', edgecolor='none') plt.hist()參數(shù)設(shè)置arr: 需要計(jì)算直方圖的一維數(shù)組;bins: 直方圖的柱數(shù),,可選項(xiàng),,默認(rèn)為10;density: : 是否將得到的直方圖向量歸一化,。默認(rèn)為0,;color:顏色序列,默認(rèn)為None;facecolor: 直方圖顏色,;edgecolor: 直方圖邊框顏色,;alpha: 透明度;histtype: 直方圖類型,,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’,; 同坐標(biāo)軸的多個(gè)頻次直方圖x1 = np.random.normal(0, 0.8, 1000)x2 = np.random.normal(-2, 1, 1000)x3 = np.random.normal(3, 2, 1000)kwargs = dict(histtype='stepfilled', alpha=0.3, density=True, bins=40)plt.hist(x1, **kwargs)plt.hist(x2, **kwargs)plt.hist(x3, **kwargs) 二維頻次直方圖就像將一維數(shù)組分為區(qū)間創(chuàng)建一維頻次直方圖一樣,,我們也可以將二維數(shù)組按照二維區(qū) 間進(jìn)行切分,來(lái)創(chuàng)建二維頻次直方圖,。 1.plt.hist2d:二維頻次直方圖 繪制二維頻次直方圖最簡(jiǎn)單的方法,,就是使用Matplotlib的plt.hist2d函數(shù)。 plt.hist2d(x, y, bins=30, cmap='Blues')cb = plt.colorbar()cb.set_label('counts in bin') 2.plt.hexbin:六邊形區(qū)間劃分 二維頻次直方圖是由與坐標(biāo)軸正交的方塊分割而成的,還有一種常用的方式是用正六邊形分割,。Matplotlib 提供了 plt.hexbin 滿足此類需求,,將二維數(shù)據(jù)集分割成蜂窩狀。 plt.hexbin(x, y, gridsize=30, cmap='Blues')cb = plt.colorbar(label='count in bin') |
|