最近在处理数据时,需要使用python绘制箱线图。

1. 箱线图

箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界、下界、中位数、上下四分位数以及异常值等。

  1. 四分位数:就是把一组数据按照从小到大的顺序进行排列,然后分成四等份,处于三个分割点位置的数字就是四分位数;
  2. 第一四分位数(q1):又称“较小四分位数”或“下四分位数”,等于该样本中所有数值由小到大排列后第25%的数字,q1的位置 = 1+(n-1)x 0.25;
  3. 第二四分位数(q2):又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字,q2的位置= 1+(n-1)x 0.5;
  4. 第三四分位数(q3),又称“较大四分位数”或“上四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。q3的位置= 1+(n-1)x 0.75;
  5. 四分位间距(InterQuartile Range,IQR):第三四分位数与第一四分位数的差距(q3数据- q1数据);
  6. Whiske上限(大于该值即为异常值):q3数 + 1.5*IQR,(1.5表示超过的比例,是一个系数,可根据实际情况调整);
  7. Whisker下限(小于该值即为异常值):q1数 - 1.5*IQR。

2. Matplotlib中绘制箱线图的方法:boxplot

boxplot函数说明:

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):

参数说明:


x:指定要绘制箱线图的数据,可以是一组数据也可以是多组数据;
notch:是否以凹口的形式展现箱线图,默认非凹口;
sym:指定异常点的形状,默认为蓝色的+号显示;
vert:是否需要将箱线图垂直摆放,默认垂直摆放;
whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差;
positions:指定箱线图的位置,默认为range(1, N+1),N为箱线图的数量;
widths:指定箱线图的宽度,默认为0.5;
patch_artist:是否填充箱体的颜色,默认为False;
meanline:是否用线的形式表示均值,默认用点来表示;
showmeans:是否显示均值,默认不显示;
showcaps:是否显示箱线图顶端和末端的两条线,默认显示;
showbox:是否显示箱线图的箱体,默认显示;
showfliers:是否显示异常值,默认显示;
boxprops:设置箱体的属性,如边框色,填充色等;
labels:为箱线图添加标签,类似于图例的作用;
flierprops:设置异常值的属性,如异常点的形状、大小、填充色等;
medianprops:设置中位数的属性,如线的类型、粗细等;
meanprops:设置均值的属性,如点的大小、颜色等;
capprops:设置箱线图顶端和末端线条的属性,如颜色、粗细等;
whiskerprops:设置须的属性,如颜色、粗细、线的类型等;
manage_ticks:是否自适应标签位置,默认为True;
autorange:是否自动调整范围,默认为False;

3. 绘制单个箱线图

labels = 'A'
data = [0.8685, 0.6671, 0.7971, 0.5774]
plt.grid(True)  # 显示网格
plt.boxplot(data,medianprops={'color': 'red', 'linewidth': '1.5'},meanline=True,showmeans=True,meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'},flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10},labels=labels)
plt.yticks(np.arange(0.4, 0.91, 0.1))
plt.show()

4.绘制多个箱线图

labels = 'A', 'B', 'C', 'D', 'E', 'F'
A = [0.4978, 0.5764, 0.5073, 0.5609]
B = [0.5996, 0.65, 0.6251, 0.6473]
C = [0.6015, 0.687, 0.6237, 0.6761]
D = [0.5918, 0.6999, 0.6343, 0.6947]
E = [0.577, 0.6932, 0.6593, 0.7036]
F = [0.5637, 0.7161, 0.6683, 0.697]
plt.grid(True)  # 显示网格
plt.boxplot([A, B, C, D, E, F],medianprops={'color': 'red', 'linewidth': '1.5'},meanline=True,showmeans=True,meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'},flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10},labels=labels)
plt.yticks(np.arange(0.4, 0.81, 0.1))
plt.show()

python绘制箱线图boxplot()相关推荐

  1. python绘制箱线图

    用python绘制箱线图_大奸猫的博客-CSDN博客_python画箱线图 画两个并行的箱型图: # 导入Excel数据studentshuju.xls的代码: import matplotlib.p ...

  2. 用python绘制箱线图

    箱线图作用-python实践-异常值识别 文章目录 一.别名 二.历史 三.定义 四.作用 (1)识别异常值 (2)判断偏态 (3)评估数据集中程度 五.用python绘制箱线图 参考 一.别名 箱须 ...

  3. R 中导入csv数据,编辑数据框中异常值并绘制箱线图 Boxplot

    1. 打开Rstudio 2. 使用 read.csv() 读取数据.例如:g <- read.csv("homework3-4_data.csv") 3. 执行下述代码绘制 ...

  4. 使用python中的库matplotlib绘制箱线图(boxplot)

    文章目录 数据准备 相关概念:Q1,Q2,Q3,IQR,QQ1,QQ3 绘制箱线图 分析箱线图 数据准备 假设有如下数据: 我们要分别绘制出age这列数据的箱线图和%fat这列数据的箱线图. 相关概念 ...

  5. python绘制箱线图-python 中箱线图绘制

    一.箱线图图绘制参数详解 plt.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, ...

  6. seaborn和pandas绘制箱线图 boxplot

    import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline # 用seaborn ...

  7. python boxplot用法,Python使用plt.boxplot() 参数绘制箱线图

    Python 绘制箱线图主要用 matplotlib 库里 pyplot 模块里的 boxplot() 函数. plt.boxplot() 参数详解 plt.pie(x, # 指定要绘制箱线图的数据: ...

  8. 绘制箱线图的标签python_利用Python - Matplotlib 绘制箱线图

    1.箱线图介绍 第一步:计算上四分位数,中位数,下四分位数(计算公式略). 第二步:计算上四分位数和下四分位数之间的差值,四分位数差. 第三步:绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数 ...

  9. R语言中使用boxplot函数绘制箱线图

    (源自百度,便于查看故复制于此,若有冒犯会删除) 箱线图简介 箱线图又称箱形图或盒须图,该图是由5个特征值绘制而成的图形. 5个特征值是变量的最大值.最小值.中位数.第1四分位数和第3四分位数. 连接 ...

最新文章

  1. ceph-dencoder工具使用详解
  2. android api (83) —— InputMethodSession [输入法]
  3. taylor级数 matlab,Taylor级数与Fourier级数展开式比较与MATLAB实例.docx
  4. Mobx 与 Redux 的性能对比
  5. BP神经网络反向传播手动推导
  6. 允许使用抽象类类型 isearchboxinfo 的对象_此对象非彼对象(面向对象)3
  7. 机器学习笔记(十三):降维
  8. MSDN 教程短片 WPF 20(绑定3-ObjectDataProvider)
  9. java解析apache日志_使用Apache Log4j 2解析日志条目
  10. STM32系列单片机向量表和向量表重新定位
  11. 2021-09-06单纯形计算方法(
  12. cadence导生产文件_【分享】写了个Allegro导出bom和坐标文件的教程, 仅供参考~
  13. Duplicate showFileChooser result
  14. 下载美国气候数据中心地址
  15. 内核层读写应用层文件,使用filp_open函数——完美
  16. Android流量统计
  17. div是什么?标签?div+css
  18. css 长单词不换行溢出容器的解决方法 word-wrap与word-break
  19. 一、 输出 1~100 之间不能被 7 整除的数,每行输出 10 个数字,要求应用字符 串格式化方法(任何一种均可) 美化输出格式。 输出效果为:
  20. MATLAB信号处理——信号与系统的分析基础(2)

热门文章

  1. 思科PVLAN配置详解
  2. php代码删除文件,三种php删除文件代码
  3. udp 非阻塞socket报 EAGAIN
  4. mysql failed with EAGAIN after 5 attempts.
  5. JavaScript实现插入排序
  6. 百度智能云:AI工业化时代的方法论
  7. 快速高效 | Android身份证识别
  8. linux配置服务器端frpc,linux centos下 手动搭建frpc客户端实现穿透内网。
  9. 计算机如何寻址大学计算机,寻址-天津大学计算机科学与技术学院.ppt
  10. 由QQ聊天文件开始的渗透录像