1. 程式人生 > >matplotlib【1.2.1】-boxplot(箱線圖)-1

matplotlib【1.2.1】-boxplot(箱線圖)-1

示例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()


在這裡插入圖片描述