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

1.箱线图介绍

第一步:计算上四分位数,中位数,下四分位数(计算公式略)。

第二步:计算上四分位数和下四分位数之间的差值,四分位数差。

第三步:绘制箱线图的上下范围,上限为上四分位数,下限为下四分位数。在箱子内部中位数的位置绘制横线。

第四步:大于上四分位数1.5倍四分位数差的值,或者小于下四分位数1.5倍四分位数差的值,划为异常值。

第五步:异常值之外,最靠近上边缘和下边缘的两个值处,画横线,作为箱线图的触须。

第六步:极端异常值,即超出四分位数差3倍距离的异常值,用实心点表示;较为温和的异常值,即处于1.5倍-3倍四分位数差之间的异常值,用空心点表示。

第七步:为箱线图添加名称,数轴等。

箱线图的优点

可以直观明了地识别数据批中的异常值;

通过箱线图可以判断数据批的偏态和尾重;

通过箱线图还可以直观的比较多批数据的形状(均值,分散情况)。

例:

?i=20200504043728224.jpg?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlcnRobm1rZw==,size_16,color_FFFFFF,t_70

2. 数据介绍

首先通过爬虫获取了武汉市从2013.11到2020.03的空气质量的部分数据,尝试用python中的Matplotlib来绘制箱线图,实现数据可视化。

3.开始画图

导入本次绘图所需要的库

import pandas as pd

import matplotlib.pyplot as plt

2.导入所有需要的数据

data = pd.read_csv("Wuhan Air Quality.csv")

下图是本文部分csv格式的数据:

?i=20200504035753170.jpeg?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlcnRobm1rZw==,size_16,color_FFFFFF,t_70

3.在导入的数据中,分别把前四组数据(AQI, PM 2.5,PM10,So2)用箱线图表示

## AQI(图一)##

plt.subplot(1,4,1) #将四个箱线图画在一行中

Box1=data["AQI"] #提取文件中AQI的数据

plt.grid(linestyle="--", alpha=0.3) #绘制图像底部虚线. (linestyle=ls, markerfacecolor=mfc)

plt.boxplot(

Box1,

patch_artist=True,

showmeans=True, #显示均值点

whis=8,

widths=0.2, #箱体宽度

boxprops={'color': 'black', 'facecolor': '#FFDF00'}, #设置箱体属性

flierprops={'marker': 'o', 'mfc': 'red', 'color': 'black'}, #设置异常值属性

meanprops={'marker': '+', 'mfc': 'black'}, #设置均值点属性

medianprops={'ls': '--', 'color': 'orange'}, #设置中位数属性

whiskerprops={'ls': '--', 'mfc': 'red', 'color': 'black'}, #设置触须属性

)

plt.title('AQI') #子标题

plt.xticks([]). #关闭x轴坐标显示

## PM 2.5(图二)##

plt.subplot(1,4,2)

Box2=data["PM 2.5"]

plt.grid(linestyle="--", alpha=0.3)

plt.boxplot(

Box2,

patch_artist=True,

showmeans=True,

whis=8,

widths=0.2,

boxprops={'color': 'black', 'facecolor': '#2C4096'},

flierprops={'marker': 'o', 'mfc': 'red', 'color': 'black'},

meanprops={'marker': '+', 'mfc': 'black'},

medianprops={'ls': '--', 'color': 'orange'},

whiskerprops={'ls': '--', 'mfc': 'red', 'color': 'black'}

)

plt.title('MP 2.5')

plt.xticks([])

## PM 10(图三)##

plt.subplot(1,4,3)

Box3=data["PM 10"]

plt.grid(linestyle="--", alpha=0.3)

plt.boxplot(Box3,

patch_artist=True,

showmeans=True,

whis=8,

widths=0.2,

boxprops={'color': 'black', 'facecolor': '#019000'},

flierprops={'marker': 'o', 'mfc': 'red', 'color': 'black'},

meanprops={'marker': '+', 'mfc': 'black'},

medianprops={'ls': '--', 'color': 'orange'},

whiskerprops={'ls': '--', 'mfc': 'red', 'color': 'black'}

)

plt.title('PM 10')

plt.xticks([])

## So2(图四)##

plt.subplot(1,4,4)

Box4=data["So2"]

plt.grid(linestyle="--", alpha=0.3)

plt.boxplot( Box4,

patch_artist=True,

showmeans=True,

whis=8,

widths=0.2,

boxprops={'color': 'black', 'facecolor': '#D22C2C'},

flierprops={'marker': 'o', 'mfc': 'red', 'color': 'black'},

meanprops={'marker': '+', 'mfc': 'black'},

medianprops={'ls': '--', 'color': 'orange'},

whiskerprops={'ls': '--', 'mfc': 'red', 'color': 'black'}

)

plt.title('So2')

plt.xticks([])

plt.suptitle('Box Plot') #总标题

plt.show()

4.运行结果

?i=202005040422130.png?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlcnRobm1rZw==,size_16,color_FFFFFF,t_70

标签:线图,plt,Python,Matplotlib,color,mfc,black,四分,位数

来源: https://blog.csdn.net/werthnmkg/article/details/105912185

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值