matplotlib【1.2.1】-boxplot(箱線圖)-1
阿新 • • 發佈:2018-11-25
示例1:普通箱線圖
import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤 mpl.rcParams['axes.unicode_minus'] = False #用來正常顯示負號 testA = np.random.randn(1000) testB = np.random.randn(1000) testList=[testA,testB] labels = ['隨機數生成器A','隨機數生成器B'] whis = 1.6 width = 0.35 bplot = plt.boxplot(testList, whis = whis,#四分位距的倍數,用來確定箱須包含資料的範圍的大小 widths = width,#箱體的寬度 sym = 'o',#離群值標記樣式 labels=labels,#每個資料集的刻度標籤 #notch = True,#v型凹痕箱體 #vert=False,#水平方向箱線圖 #showfliers=False, #是否標記離群值 patch_artist=True #是否要顏色填充 ) plt.ylabel('隨機數值') plt.title('生成器抗干擾能力的穩定性比較') plt.show()
案例2:自定義顏色設定
import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤 mpl.rcParams['axes.unicode_minus'] = False #用來正常顯示負號 testA = np.random.randn(1000) testB = np.random.randn(1000) testList=[testA,testB] labels = ['隨機數生成器A','隨機數生成器B'] whis = 1.6 width = 0.35 bplot = plt.boxplot(testList, whis = whis,#四分位距的倍數,用來確定箱須包含資料的範圍的大小 widths = width,#箱體的寬度 sym = 'o',#離群值標記樣式 labels=labels,#每個資料集的刻度標籤 #notch = True,#v型凹痕箱體 #vert=False,#水平方向箱線圖 #showfliers=False, #是否標記離群值 patch_artist=True #是否要顏色填充 ) #自定義顏色設定 #colors =['#1b9177','#d95f02'] #顏色設定 colors = ['pink', 'lightblue'] for patch,color in zip(bplot['boxes'],colors): patch.set_facecolor(color) plt.ylabel('隨機數值') plt.title('生成器抗干擾能力的穩定性比較') plt.show()
示例3:另一種方式設定x軸刻度標籤
import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np mpl.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤 mpl.rcParams['axes.unicode_minus'] = False #用來正常顯示負號 testA = np.random.randn(1000) testB = np.random.randn(1000) testList=[testA,testB] labels = ['隨機數生成器A','隨機數生成器B'] whis = 1.6 width = 0.35 bplot = plt.boxplot(testList, whis = whis,#四分位距的倍數,用來確定箱須包含資料的範圍的大小 widths = width,#箱體的寬度 sym = 'o',#離群值標記樣式 #labels=labels,#每個資料集的刻度標籤 #notch = True,#v型凹痕箱體 #vert=False,#水平方向箱線圖 #showfliers=False, #是否標記離群值 patch_artist=True #是否要顏色填充 ) #自定義顏色設定 #colors =['#1b9177','#d95f02'] #顏色設定 colors = ['pink', 'lightblue'] for patch,color in zip(bplot['boxes'],colors): patch.set_facecolor(color) plt.xticks([i+1 for i in range(len(testList))],labels) #設定x軸刻度標籤 plt.ylabel('隨機數值') plt.title('生成器抗干擾能力的穩定性比較') plt.show()