最近在处理数据时,需要使用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. SAP MM 物料库存转固定资产业务操作以及相关财务凭证
  2. JavaScript实现网页元素的拖拽效果
  3. qt中文件读取的方法(新手入门必看)
  4. Python可视化 | Matplotlib绘制圆环图的两种方法!
  5. Pokémon Go火遍全球,开启全民捕捉小精灵的时代
  6. Redis的常用命令及数据类型
  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第4篇] P类复杂问题
  8. 二十二.香港大学火星实验室R3LIVE框架跑官方数据集
  9. Python:程序生成Windows可执行文件/不显示命令执行窗口/无法生成exe报错TypeError: an integer is required (got type bytes)解决方法
  10. java类转为er图_ER图,以及转化成关系模式
  11. C++ friend和protected
  12. perl统计日志文件ip及数量
  13. 无人机倾斜摄影测量技术有哪些特点?
  14. Excel 2010 VBA 入门 004 保存带有宏的工作薄
  15. Java jQuery_2
  16. 输入框事件监听(三):blur与change的差异
  17. 数据结构 图(一)丛林中的路
  18. Python004~005
  19. keil中创建lib库,使用lib库
  20. 细数最暖心的地铁营销事件,你最喜欢哪一个?

热门文章

  1. jquery判断元素是否隐藏的多种方法
  2. 软件分享 pqmagic 8.0中文版优秀硬盘分区管理工具
  3. mysql查询重复的_MySQL查询重复记录sql语句
  4. 大智慧微信登录不上服务器,小微信,大智慧
  5. android 关于google刘海屏的解决方案
  6. 手机位置服务寻求新突破 推出英文系统把握奥运契机
  7. ACM练级日志:“不作死就不会死” --HDU 4283 4284
  8. ABP 接口开发步骤
  9. 利用国内镜像快速安装各种python包
  10. 浏览器url特殊字符自动转换的编解码问题: