箱形图(Box-plot)又称为盒须图、盒式图或箱线图,
是一种用作显示一组数据分散情况资料的统计图。 因形状如箱子而得名。 在各种领域也经常被使用,常见于品质管理。 它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。
看个例子
plt.boxplot() 参数详解
plt.boxplot(x, # 指定要绘制箱线图的数据;
notch=None, # 凹口的 展现箱线图,
sym=None, # 指定异常点的形状,默认为+号显示;
vert=None, # 是否需要将箱线图垂直摆放,默认垂直摆放;
whis=None, # 的距离,默认为1.5倍的四分位差;
positions=None, # 指定箱线图的位置,默认为[0,1,2…];
widths=None, # 指定箱线图的宽度,默认为0.5;
patch_artist=None, # 是否填充箱体的颜色;
bootstrap=None, #
usermedians=None, #
conf_intervals=None, #
meanline=None, # 是否用线的形式表示均值,默认用点来表示;
showmeans=None, #
showcaps=None, #
showbox=None, # ;
showfliers=None, # ;
boxprops=None, #
labels=None, #
flierprops=None, # 填充色等;
medianprops=None, # 设置中位数的属性,如线的类型、粗细等;
meanprops=None, # 设置均值的属性,如点的大小、颜色等;
capprops=None, # 设置箱线图顶端和末端线条的属性,如颜色、粗细等;
whiskerprops=None, # 设置须的属性,如颜色、粗细、线的类型等
manage_xticks=True, #
autorange=False, #
zorder=None, #
hold=None, #
data=None) #
看一个例子
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(19680801)
spread = np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low))
fig1, ax1 = plt.subplots()
ax1.set_title('Basic Plot')
ax1.boxplot(data)
1、numpy.ones()函数
可以创建任意维度和元素个数的数组,其元素值均为1
2、使用语法
numpy.ones(shape, dtype=None, order='C')
3、使用参数
- shape:int或int的序列,为新数组的形状;
- 如果我们仅指定一个int变量,则将返回一维数组。 对于一个整数元组,将返回给定形状的数组。
- dtype(可选 ):数组的所需数据类型;默认是 numpy.float64。
- order : {‘C’,‘F’},可选,默认值:C 是否在内存中以行主(C-风格)或列主(Fortran-风格)顺序存储多维数据。
4、返回值:
返回具有给定形状,数据类型和顺序的数组。
5、使用实例
>>>b = np.ones((3,4),dtype=np.int64)
>>>print(b)
>[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
继续进行修改
fig2, ax2 = plt.subplots()
ax2.set_title('Notched boxes')
ax2.boxplot(data, notch=True)
继续修改
green_diamond = dict(markerfacecolor='g', marker='D')
fig3, ax3 = plt.subplots()
ax3.set_title('Changed Outlier Symbols')
ax3.boxplot(data, flierprops=green_diamond)
继续修改
fig4, ax4 = plt.subplots()
ax4.set_title('Hide Outlier Points')
ax4.boxplot(data, showfliers=False)
继续修改
red_square = dict(markerfacecolor='r', marker='s')
fig5, ax5 = plt.subplots()
ax5.set_title('Horizontal Boxes')
ax5.boxplot(data, vert=False, flierprops=red_square)