python—matplotlib資料視覺化例項註解系列-----之箱狀圖
阿新 • • 發佈:2019-01-28
本文程式碼源自官方例項,部分進行了修改和註解,幫助學習和查詢。
執行結果:import numpy as np import matplotlib.pyplot as plt #隨機生成一組資料73行,4列,正態分佈,期望為1.5,標準差1.75 data = np.random.lognormal(size=(37,4), mean=1.5, sigma=1.75) labels = list('ABCD') # 設定資料標籤 fs = 10 # fontsize字型大小 # 建立一張有多個子圖組成的圖表,2行,3列, fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(6,6), sharey=True) #不同顯示風格的設定 axes[0,0].boxplot(data, labels=labels) axes[0,0].set_title('Default', fontsize=fs) axes[0,1].boxplot(data, labels=labels, showmeans=True) axes[0,1].set_title('showmeans=True', fontsize=fs) axes[0,2].boxplot(data, labels=labels, showmeans=True, meanline=True) axes[0,2].set_title('showmeans=True,\nmeanline=True', fontsize=fs) # 不顯示box,showcaps顯示末端的橫線 axes[1,0].boxplot(data, labels=labels, showbox=False, showcaps=False) tufte_title = 'TufteStyle \n(showbox=False,\nshowcaps=False)' axes[1,0].set_title(tufte_title, fontsize=fs) # notch顯示凹形box,bootstrap是notch的設定引數 axes[1,1].boxplot(data, labels=labels, notch=True, bootstrap=10000) axes[1,1].set_title('notch=True,\nbootstrap=10000', fontsize=fs) # showfliers顯示異常值 axes[1,2].boxplot(data, labels=labels, showfliers=False) axes[1,2].set_title('showfliers=False', fontsize=fs) #y軸顯示對數座標,標籤為空 for ax inaxes.flatten(): ax.set_yscale('log') ax.set_yticklabels([]) #設定影象上部的間隔 fig.subplots_adjust(hspace=0.5) plt.show()