matplotlib学习日记(六)-箱线图

时间:2021-01-25 15:15:10

(一)箱线图---由一个箱体和一对箱须组成,箱体是由第一个四分位数,中位数和第三四分位数组成,箱须末端之外的数值是离散群,主要应用在一系列测量和观测数据的比较场景

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["FangSong"]
mpl.rcParams["axes.unicode_minus"] = False
'''
中文字体的配置,见中文标题和x轴上的刻度标签
后一句是放弃unicode_minus
'''
testA = np.random.randn(5000)
testB = np.random.randn(5000) testList = [testA, testB]
labels = ["随机数生成器AlphaRM", "随机数生成器BetaRM"]
colors = ["#1b9e77", "#d95f02"]
whis = 1.6
width = 0.35 bplot = plt.boxplot(testList, whis=whis, widths=width,
sym="o", labels=labels, patch_artist=True)
'''
testList------>箱体输入数据
whis------->四分位间距的倍数,用来箱须包含数据的范围的大小,越大,箱须范围越大,离散群越小
width------>箱体的宽度
sym------>绘制每一个数据集的刻度标签
patch_artist-------->是否给箱体添加颜色,只有这个参数为true,才有后面的操作
另notch--------->控制两个箱体间有没有凹V
vert------->水平方向
showfliters------>离散群的显示设置
'''
for patch, color in zip(bplot["boxes"], colors):
patch.set_facecolor(color)
'''
对箱体的返回值进行操作,返回值是一个字典数据结构,要给箱体添加颜色,
所以使用关键字boxes来调出键值bplot["boxes"].最后使用zip生成元组列表,
使用for循环对每一个箱体进行颜色填充
'''
plt.ylabel("随机数生成器")
plt.title("生成器抗干扰能力的稳定性比较")
plt.grid(axis="y", ls=":", lw=1, color="gray", alpha=.4)
plt.show()

matplotlib学习日记(六)-箱线图

(二)水平方向的箱线图

import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["font.sans-serif"] = ["FangSong"]
mpl.rcParams["axes.unicode_minus"] = False
x = np.random.randn(1000) plt.boxplot(x, vert=False)
plt.xlabel("随机数值")
plt.yticks([1], ["随机数生成器AlphaRM"], rotation=90)
#rotation------>标签旋转度数
plt.title("随机数生成器抗干扰能力的稳定性")
plt.grid(axis="x", ls=":", lw=1, color="gray", alpha=.4)
plt.show()

matplotlib学习日记(六)-箱线图