Matplotlib入门06-箱线图

本文详细介绍了箱线图的功能,包括识别数据批中的异常值、判断数据的偏态和尾重,以及比较不同数据批的形状。文章还提供了箱线图的绘制代码示例,展示了如何使用Python的matplotlib库绘制箱线图。
部署运行你感兴趣的模型镜像

箱线图[2020年4月]

官方文档

1、箱线图的功能

01、直观明了地识别数据批中的异常值
箱形图可以用来观察数据整体的分布情况,利用中位数,25/%分位数,75/%分位数,上边界,下边界等统计量来来描述数据的整体分布情况。通过计算这些统计量,生成一个箱体图,箱体包含了大部分的正常数据,而在箱体上边界和下边界之外的,就是异常数据。

02、判断数据的偏态和尾重
对于标准正态分布的大样本,中位数位于上下四分位数的中央,箱形图的方盒关于中位线对称。中位数越偏离上下四分位数的中心位置,分布偏态性越强。异常值集中在较大值一侧,则分布呈现右偏态;异常值集中在较小值一侧,则分布呈现左偏态。

03、比较多批数据的形状
箱子的上下限,分别是数据的上四分位数和下四分位数。这意味着箱子包含了50%的数据。因此,箱子的宽度在一定程度上反映了数据的波动程度。箱体越扁说明数据越集中,端线(也就是“须”)越短也说明数据集中。
原文

2、常用参数解释

参数解释
x表示数据,可以是一组,也可以是多组。
notchbool,改变箱型图的形状,
sys离群点的形状,=‘’,不展示,也可以用其它参数设置不展示。
vert为False翻转图形
whis确定上下限到四分位数的直线,可以通过调整这个区分异常值。可以传浮点数,传元组。当是浮点数时,位置分别为(Q1-whis*(Q3-Q1),Q3 + whis*(Q3-Q1),传两个值没搞懂,详见官方文档。😂
label箱线图名称设置
meanline and showmeans同时设置为True可展示均值虚线
patch_artist设置值为true,创建filled boxes,用来填充颜色

3、简单图形绘制

import matplotlib.pyplot as plt
#import numpy as np 


#场景  班级成绩  10科
xiaoming=[10, 75, 20, 75, 31, 42, 69, 24, 5, 43,200]
xiaogang=[70, 50, 49, 5, 71, 92, 13, 57, 35, 24]
xiaodong=[-10, 50, 49, 50, 71, 99, 103, 57, 90, 20]
colors = ['#91cc75', '#fac858','#fc8452']

#绘制图形
box_plot = plt.boxplot([xiaoming,xiaogang,xiaodong],patch_artist=True,notch=False,sym='o',vert=True,whis=1.5,labels=["xiaoming","xiaogang","xiaodong"],meanline=True,showmeans=True)

#绘制每个箱子的颜色
for patch, color in zip(box_plot['boxes'], colors):
    patch.set_facecolor(color)
    
# 设置箱子两端线的竖线
for whisker in box_plot['whiskers']:
    whisker.set(color='black', linewidth=1.5)
# # 设置顶端和末端线条的属性
for cap in box_plot['caps']:
    cap.set(color='black', linewidth=1.5)
# 设置中位数的属性
for median in box_plot['medians']:
    median.set(color='black', linewidth=1.5)
# 设置平均值的属性
for median in box_plot['means']:
    median.set(color='black', linewidth=1.5)  

#设置标题
plt.xlabel('Contestant')
plt.ylabel('Score')
plt.title('CommonLit - Evaluate Student Summaries')

#展示图形
plt.show()


在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值