Python matplotlib箱线图设置颜色

在数据可视化中,颜色不仅能让图表更美观,还能帮助传达信息。本文将通过matplotlib库,教你如何为箱线图设置颜色主题,让你的数据展示更专业!


1. 什么是箱线图?

箱线图(Boxplot)是一种展示数据分布情况的图表,包含中位数、四分位数、异常值等关键统计信息。通过调整颜色,可以突出不同数据集的对比或匹配主题风格。


2. 基础箱线图绘制

首先,导入库并生成示例数据:

import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据
np.random.seed(42)
data = [np.random.normal(0, std, 100) for std in range(1, 4)]

# 绘制基础箱线图
plt.boxplot(data)
plt.title("Basic Boxplot")
plt.show()

3. 自定义颜色主题
3.1 单色主题

通过boxpropswhiskerprops等参数设置颜色:

plt.figure(figsize=(8,5))
box = plt.boxplot(data, patch_artist=True,  # 启用填充颜色
                 boxprops=dict(facecolor='lightblue', color='darkblue'),  # 箱体颜色
                 whiskerprops=dict(color='darkblue', linewidth=1.5),     # 须颜色
                 capprops=dict(color='darkblue', linewidth=1.5),         # 顶部横线
                 medianprops=dict(color='red', linewidth=2),            # 中位数线
                 flierprops=dict(marker='o', markerfacecolor='grey', markersize=8)) # 异常点
plt.title("Custom Monochromatic Theme")
plt.show()
3.2 多色主题

为不同箱体设置不同颜色:

colors = ['#FF6B6B', '#4ECDC4', '#45B7D1']  # 自定义颜色列表
plt.figure(figsize=(8,5))
box = plt.boxplot(data, patch_artist=True)

# 为每个箱体设置颜色
for patch, color in zip(box['boxes'], colors):
    patch.set_facecolor(color)
    patch.set_edgecolor('black')  # 边框颜色

plt.title("Multi-color Boxplot Theme")
plt.show()

4. 使用内置主题样式

Matplotlib提供多种内置样式,一键切换整体配色:

plt.style.use('seaborn-darkgrid')  # 应用主题
plt.figure(figsize=(8,5))
plt.boxplot(data, patch_artist=True)
plt.title("Seaborn Darkgrid Theme")
plt.show()

5. 结合Seaborn优化配色

Seaborn的调色板功能更强大:

import seaborn as sns

# 设置调色板
sns.set_palette("husl")  
plt.figure(figsize=(8,5))
sns.boxplot(data=data, palette="husl")
plt.title("Seaborn Husl Palette")
plt.show()

6. 完整代码示例
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

# 生成数据
np.random.seed(42)
data = [np.random.normal(0, std, 100) for std in range(1,4)]

# 高级颜色设置
plt.figure(figsize=(10,6))
box = plt.boxplot(data, patch_artist=True,
                  boxprops=dict(facecolor='lightgreen', edgecolor='darkgreen', linewidth=1.5),
                  whiskerprops=dict(color='darkgreen', linewidth=1.5),
                  medianprops=dict(color='purple', linewidth=2))

plt.grid(True, linestyle='--', alpha=0.7)
plt.xticks([1,2,3], ['Group A', 'Group B', 'Group C'])
plt.title("Professional Boxplot with Custom Theme")
plt.show()

7. 总结

通过调整以下参数自定义颜色:

  • boxprops: 箱体边框和填充色
  • whiskerprops: 须颜色
  • medianprops: 中位数线颜色
  • flierprops: 异常点颜色

掌握颜色设置技巧,能让你的图表更具表现力!快去尝试不同的配色方案吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

像素艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值