杰瑞科技汇

Python星形图怎么绘制?

在 Python 中绘制箱形图(Box Plot,也称箱线图或盒须图)通常使用 matplotlibseaborn 库,以下是详细步骤和代码示例:

Python星形图怎么绘制?-图1
(图片来源网络,侵删)

方法1:使用 matplotlib 绘制箱形图

import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
data = np.random.normal(0, 1, 100)  # 100个正态分布随机数
# 绘制箱形图
plt.boxplot(data)"箱形图示例")
plt.ylabel("数值")
plt.grid(True)
plt.show()

关键参数说明

  • vert=False:水平显示箱形图
  • patch_artist=True:允许自定义箱体颜色
  • showfliers=False:隐藏异常值(离群点)

方法2:使用 seaborn 绘制更美观的箱形图

import seaborn as sns
import numpy as np
# 生成示例数据
data = np.random.normal(0, 1, 100)
# 绘制箱形图
sns.boxplot(data=data)"Seaborn 箱形图示例")
plt.show()

分组箱形图示例

import seaborn as sns
import pandas as pd
# 创建示例数据
data = pd.DataFrame({
    "组别": ["A"] * 50 + ["B"] * 50,
    "数值": np.concatenate([np.random.normal(0, 1, 50), np.random.normal(2, 1, 50)])
})
# 按组别绘制箱形图
sns.boxplot(x="组别", y="数值", data=data)"分组箱形图")
plt.show()

箱形图各部分含义

  • 箱体(Box):表示数据的四分位距(IQR),即第25百分位数(Q1)到第75百分位数(Q3)。
  • 中位数线(Median):箱体中间的横线,代表数据的中位数(Q2)。
  • 须线(Whiskers):通常延伸到 Q1 - 1.5×IQR 和 Q3 + 1.5×IQR 的范围。
  • 异常值(Outliers):超出须线的点,用圆点或星号标记。

自定义样式示例

plt.figure(figsize=(8, 6))
box = plt.boxplot(data, patch_artist=True, 
                  boxprops=dict(facecolor="lightblue"),
                  medianprops=dict(color="red", linewidth=2),
                  whiskerprops=dict(color="green", linewidth=1.5))"自定义样式箱形图")
plt.show()

常见问题

  1. 数据格式:确保输入数据是列表、NumPy数组或Pandas的Series/DataFrame。
  2. 异常值处理:若需隐藏异常值,添加参数 showfliers=False
  3. 多组数据:直接传入二维数组或使用Pandas DataFrame的列分组。

通过以上方法,你可以灵活绘制和自定义箱形图,适合用于数据分布分析和异常值检测。

Python星形图怎么绘制?-图2
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇