一、定义
箱线图,又称箱型图或盒式图。包含了统计学中的分位数、均值、极值等统计量,不仅能够分析不同类别数据的平均水平差异,还能揭示数据离散程度、异常值、分布差异等。

四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数。

第一四分位数(Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。Q1的位置=(n+1)/4

第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。Q2的位置=(n+1)/2

第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。Q3的位置=3(n+1)/4
  n表示项数

第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。
  
二、输入
输入是列表形式的数据,以下是我的输入,也可以自己定义或用random随机生成。

import csv
import pandas as pd
import matplotlib.pyplot as pltfile_in = open('D:/emotion_analysis_data/cleaned/vs_box.csv', 'r', encoding='utf-8')
positive = csv.DictReader(file_in, ['id', 'confidence', 'text'])
next(positive)
all_positive = []
for i, record in enumerate(positive):con_str = record['confidence']con_list = con_str.split(' ')del(con_list[0])constr = ''.join(con_list)value_str = constr.replace(']', '')value = float(value_str)all_positive.append(value)

把输入的列表数据all_positive写入data,即

data = {'positive': all_positive}
df = pd.DataFrame(data)
print(df.describe())

输出关于该数据的统计量描述,即箱线图所需数据:

三、画箱线图
将以上数据用箱线图表示:

f = df.boxplot(sym='r.', patch_artist=True, return_type='dict', meanline=False, showmeans=True)for box in f['boxes']:box.set(color='#0E3CE6', linewidth=2) # 箱体边框 box.set(facecolor='#FF6CEC')  # 箱体内部填充颜色
for whisker in f['whiskers']: whisker.set(color='r', linewidth=2)
for cap in f['caps']:cap.set(color='g', linewidth=2)
for median in f['medians']:  median.set(color='#52E636', linewidth=3)
for mean in f['means']:mean.set(color='#52E636')
for flier in f['fliers']:  flier.set(marker='o', color='y', alpha=0.5)plt.show()

输出:

也可以用默认的参数,简单画:

f = df.boxplot(sym='r.', patch_artist=True, return_type='dict', meanline=False, showmeans=True)
plt.show()

输出:

至此箱线图就画好了。
四、参数详解
sym:表示异常点形状与颜色;
vert:表示箱体横向还是竖向,默认竖向True;
patch_artist:表示上下四分位框内是否填充,True为填充;
meanline=False, showmeans=True:是否用线条展示均值,是否展示均值;
whiskers:指定上下须与上下四分位的距离,默认为1.5倍的四分位差;
caps:设置箱线图顶端和末端线条的属性,如颜色、粗细等;
medians:中位数:排序后处于中间的数据
means:均值
fliers:异常值属性
boxes:箱体参数
color参数设置点开图形中的Plots的画笔进行自定义:


五、数据分布

  • 箱子的宽度在一定程度上反映了数据的波动程度。箱体越扁说明数据越集中,端线(也就是“须”)越短也说明数据集中。
  • 异常值集中在较小值一侧,则分布呈现左偏态;异常值集中在较大值一侧,则分布呈现右偏态。
  • 长长的细尾巴在左边即为左偏,长长的细尾巴在右边边即为右偏


例如上图,数据呈左偏态,那么靠近最大值的数据比较多,中位数也靠近最大值及上四分位数。反之,数据呈右偏态,那么这组数据靠近最小值的数据比较多,中位线也靠近最小值。

箱线图画法详解:颜色、标签、大小等相关推荐

  1. 怎么看k线图_详解下降三角形

    在黄金白银的价格走势K线图中,下降三角形并不罕见,不过大家是否了解它的技术要点和市场含义呢? 下降三角形的形状的上升三角形恰好相反.贵金属价格在某一水平价位处出获得了一定的买盘支持,因此每回落到该水平 ...

  2. R语言数据可视化-箱线图

    一.概述 箱线图(bar plot)又叫箱须图(box-whisker plot)在医学科技论文中经常有用到,用于展示数据的大致分布特征,也用于探索异常值和离群点.平行排列的箱线图可以用于比较在某个分 ...

  3. ggplot2箱式图两两比较_个人向ggplot2箱线图总结

    主要从如何看图.用图与作图三个方面来对箱线图进行理解和总结. 1.看图 箱线图概述图1 箱线图概述图2 如图所示,箱线图是将一组数据按照大小顺序排列后进行绘制的,包含6个数据节点,分别表示出数据的上边 ...

  4. ggplot2箱式图两两比较_R语言ggplot2箱线图绘图总结

    主要从如何看图.用图与作图三个方面来对箱线图进行理解和总结. 1.看图 箱线图概述图1 箱线图概述图2 如图所示,箱线图是将一组数据按照大小顺序排列后进行绘制的,包含6个数据节点,分别表示出数据的上边 ...

  5. python箱线图_Python 箱线图 plt.boxplot() 参数详解

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

  6. R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等

    R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录

  7. Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

    目录 基本用法 水平箱线图,显示均值 改变箱线图的形状(箱体的形状notch.异常值的形状sym) 改变箱线图的颜色(箱体边框的颜色.箱体填充色) 相较散点图和折线图,柱状图.饼图.箱线图(箱型图)是 ...

  8. r语言echarts画箱线图_echarts学习笔记之箱线图的分析与绘制详解

    一.箱线图 box-plot 箱线图(boxplot)也称箱须图(box-whisker plot),它是用一组数据中的最小值.第一四分位数.中位数.第三四分位数和最大值来反映数据分布的中心位置和散布 ...

  9. 数据可视化之箱线图详解

    一.箱线图 箱线图(Box-plot)又称盒须图.盒式图或箱形图,是一种用作显示一组数据分散情况资料的统计图,在数据分析中经常被使用到,可以被用于异常值的检测. 通过箱线图可以很容易找到数据中的异常值 ...

  10. 箱线图的几种画法-Python

    箱线图的几种画法-Python 欢迎关注笔者的微信公众号 箱线图是一种强大的数据可视化工具,用于了解数据的分布.它将数据分成四分位数,并根据从这些四分位数得出的五个数字对其进行汇总: 中位数:数据的中 ...

最新文章

  1. Python第三周 学习笔记(2)
  2. Linux终端下 dstat 监控工具
  3. Visual Studio “类视图”和“对象浏览器”图标含义
  4. html建站软件,站长建站更简易 十款最佳Windows免费网页编辑器
  5. goland 配置goroot找不到SDK
  6. 浅谈Docker:DockerLinux安装,镜像管理命令,镜像制作命令,容器管理命令,数据卷,DockerFile,Docker-compose
  7. typedef和函数指针定义
  8. 《深入PHP:面向对象、模式与实践》(二)
  9. Prism源代码解析(IRegionManager)
  10. 绑定到JSON和XML –处理集合
  11. 命令行下mysql新建用户及分配权限
  12. 西工大18秋《C语言程序设计》平时作业,西工大18秋《C语言程序设计》平时作业(100分)...
  13. latch.await java有什么作用,Android系统。 Countdownlatch.await不起作用
  14. Azure Storage架构介绍
  15. 北京户口 - 百度百科
  16. 《构建之法》(第一、二、十六章)读书笔记
  17. Linux 下的桌面指针时钟
  18. 电子产品检验-检验中心
  19. 6大页面数据抓取工具
  20. ShardingJDBC使用总结

热门文章

  1. vue3+ts封装echarts
  2. Robomaster视觉教程(二)Win10+VS201x+Opencv3.4.x环境搭建
  3. 3ds max软件如何彻底卸载干净
  4. Python pip卸载包
  5. 【电力】永磁同步电机-自抗扰控制PMSM ADRC附matlab代码
  6. 简约个人竞聘简历PPT模板
  7. 51单片机计算机加原理图,MCS-51单片机最小系统的组成部分及电路图介绍
  8. 辩证看待倾向性评分法
  9. iconfont图标使用方法
  10. 测试用例设计方法(二)