箱线图的几种画法-Python

箱线图的几种画法-Python

欢迎关注笔者的微信公众号


箱线图是一种强大的数据可视化工具,用于了解数据的分布。它将数据分成四分位数,并根据从这些四分位数得出的五个数字对其进行汇总:

  • 中位数:数据的中间值。标记为 Q2,描绘了第 50 个百分点。

  • 第一个四分位数:“最小非异常值”和中位数之间的中间值。标记为 Q1,描绘了第 25 个百分点。

  • 第三四分位数:“最大非异常值”和中位数之间的中间值。标记为 Q3,描绘了第 75 个百分点。

  • “最大非异常值”:按 (Q3 + 1.5*IQR) 计算。高于此值的所有值都被视为异常值。

  • “最小非异常值”:按 (Q1 – 1.5*IQR) 计算。低于此值的所有值都被视为异常值。

它还可以表示数据的对称性、偏度和分布。

箱型图的功能:

  • 直观明了地识别数据批中的异常值
  • 利用箱线图判断数据批的偏态和尾重
  • 比较几批数据的形状

使用Pandas + Seaborn绘制箱型图

  • 导入相关库
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import seaborn as sns

import warnings
warnings.filterwarnings("ignore")

sns.set(font="SimHei")
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

Pandas绘图

# load the dataset
df = sns.load_dataset('tips')
df.head(10)

tips是Seaborn官方的一个数据集,首次会从github远程仓库下载到用户目录,如果出现超时可手动使用下面的镜像加速网址下载官方数据集并放到用户目录下,如/home/sairo/seaborn-data

https://github.com.cnpmjs.org/mwaskom/seaborn-data.git

df.boxplot(by="day", column=["total_bill"])
df.boxplot(by="size", column=["tip"], grid=False)

使用Seaborn画箱型图

tips = sns.load_dataset("tips")
tips.head()

# Draw a vertical boxplot grouped
# by a categorical variable:
sns.set_style("whitegrid")

sns.boxplot(x="day", y="total_bill", data=tips)

Seaborn绘制水平箱型图

箱线图用于可视化数据分布,这在需要比较数据时非常有用。有时,箱线图也称为箱线图。该框显示了数据集的四分位数,而胡须延伸以显示分布的其余部分。在本文中,我们将使用 python 使用 seaborn 实现水平箱线图。

水平箱线图

Seaborn 使用 boxplot() 方法绘制箱线图。我们可以通过两种方法将箱线图变成水平箱线图,我们需要切换x和y属性并将其传递给boxplot()方法,另一种是使用orient="h"选项传递给boxplot() 方法。

  • 方法一:切换x和y属性
# import library & dataset
import seaborn as sns

df = sns.load_dataset("iris")

# Just switch x and y
plt.Figure(dpi=300)
sns.boxplot(y=df["species"], x=df["sepal_length"])

  • 方法 2:使用 orient = h
# import library & dataset
import seaborn as sns

tips = sns.load_dataset("tips")
ax = sns.boxplot<
  • 35
    点赞
  • 360
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值