用法
Axes.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, 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_ticks=True, autorange=False, zorder=None, *, data=None)
讯享网
该框从数据的第一个四分位数(Q1)延伸到第三个四分位数(Q3),中间有一条线。晶须从盒子中伸出四分位间距(IQR)的1.5倍

讯享网
参数说明
| 参数 | 解释 |
|---|---|
| x | 输入数据。如果是二维数组,则为x中的每一列绘制一个箱线图。如果是一系列1维数组,则为x中的每个数组绘制一个箱线图 |
| notch | 是绘制凹口箱线图(True),还是绘制矩形箱线图(False)。缺口代表中位数周围的置信区间(CI)。bootstrap的文档描述了默认情况下如何计算槽口的位置,但是也可以通过设置conf_interval参数来覆盖槽口的位置。 |
| sym | 传单点的默认符号。空字符串(“”)隐藏传单。如果没有,则传单默认为“b+” |
| vert | 如果为True,则绘制垂直框。如果为False,则绘制水平框。 |
| whis | 简单来说就是箱须的位置,指定上下须跟上下四分位的距离,默认是5倍四分位差 |
| bootstrap | 指定是否引导缺口盒形图中位数周围的置信区间。如果bootstrap为None,则不执行bootstrap,并使用基于高斯的渐近近似计算槽口 |
| usermedians | 设置每个元素的中位数,默认是由matplotlib计算 |
| positions | 盒子的位置。刻度和限制将自动设置为与位置匹配 |
| widths | 盒子的宽度。默认值为0.5或0.15* |
| patch_artist | 如果为False,则使用Line2维生成长方体 |
| labels | 每个数据集的标签(每个数据集一个) |
| manage_ticks | 如果为True,将调整记号位置和标签,以匹配箱线图位置 |
| autorange | 如果为True,且数据分布使得第25百分位和第75百分位相等,则将whis设置为(0,100),从而使盒须端位于数据的最小值和最大值。 |
| meanline | 是否用线的形式表示均值,默认用点来表示 |
| zorder | 箱型图中的zorder–计算机语言,用于设置顺序 |
| showcaps | 是否显示箱型图顶端和末端的两条线,默认是显示 |
| showbox | 是否显示箱型图的箱体,默认显示 |
| showfliers | 是否显示异常值,默认显示 |
| boxprops | 设置箱体的属性,如边框色,填充色等 |
| flierprops | 设置异常值的属性,如形状,大小、填充色等 |
| medianprops | 设置中位数的属性,如线性的类型、属性(粗细)等 |
| meanprops | 设置均值的属性,如点的大小、颜色等 |
| capprops | 设置箱型图顶端和末端线条的属性,颜色、粗细等 |
| whiskerprops | 设置须的属性,如颜色,粗细、线的类型等 |
| 案例 |
讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) fig = plt.figure() view = plt.boxplot(data) plt.show()

notch
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('添加notch') view = plt.boxplot(data, notch=4) plt.show()

sym
讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('添加notch') view = plt.boxplot(data, sym='*') plt.show()

vert
默认情况下是True
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('vert=True') view = plt.boxplot(data,vert=True) plt.subplot(122) plt.title('vert=False') view = plt.boxplot(data, vert=False) plt.show()

whis
讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('添加whis') view = plt.boxplot(data, whis=1) plt.show()

positions
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('添加positions') view = plt.boxplot(data, positions=[4,2,1]) plt.show()

widths

讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('添加widths') view = plt.boxplot(data, widths=[2,0.5,0.7]) plt.show()

patch_artist
如果为Flase,则使用Line2维生成长方体
labels
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) # 每个数据集一个 plt.title('设置labels') view = plt.boxplot(data, labels=['天', '才', '伪']) plt.show()

meanline, meanprops
讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data, showmeans=True, meanline=False) plt.subplot(122) # 必须meanline为True时,meanprops才起作用 plt.title('设置meanline为True,以线形式显示平均值,并设置属性') view = plt.boxplot(data, showmeans=True, meanline=True,meanprops={
'color': 'cyan', 'linewidth': 1.5}) plt.show()

showcaps
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('设置showcaps为False') view = plt.boxplot(data, showcaps=False) plt.show()

showfliers(是否显示异常值)
讯享网import matplotlib.pyplot as plt import pandas as pd plt.rcParams['font.sans-serif'] = ['SimHei'] # 新建一个空的DataFrame data = pd.DataFrame() data["英语"] = [76, 90, 97, 71, 70, 93, 86, 83, 78, 40, 81] plt.subplot(121) plt.title('标准情况下,为显示异常值') view = plt.boxplot(data) plt.subplot(122) plt.title('不限显示异常值,showfliers=False') view = plt.boxplot(data,showfliers=False) plt.show()

boxprops
这里有一点需要说明下上面一个参数patch_artist,必须时为2DLine才可以绘制facecolor,不然会报错
AttributeError: 'Line2D' object has no property 'facecolor'
所以必须添加参数patch_artist=True
讯享网import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('设置boxprops') view = plt.boxplot(data, patch_artist=True, boxprops={
'facecolor': 'cyan', 'linewidth': 0.8,'edgecolor': 'red'}) plt.show()

medianprops
设置中位数线的属性,类型等
import numpy as np import matplotlib.pyplot as plt # 创建数据 data = np.random.normal((3, 5, 4), (1.25, 1.00, 1.25), (100, 3)) plt.figsize=((10,8)) plt.rcParams['font.family'] = 'SimHei' plt.rcParams['axes.unicode_minus']=False plt.subplot(121) plt.title('标准情况下') view = plt.boxplot(data) plt.subplot(122) plt.title('设置medianprops') view = plt.boxplot(data, medianprops={
'linewidth': 0.8,'color': 'blue'}) plt.show()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/10926.html