You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Seaborn修改箱线图的标记颜色与图表宽度?

问题描述

我想用Seaborn把箱线图的异常值标记改成红色,同时缩小图表宽度以消除空白区域。当前代码如下:

import seaborn as sns
import matplotlib.pyplot as plt

rbp_box = sns.boxplot(data=df_raw, y="Resting blood pressure", color="red", flierprops={"marker": "x"}, width=0.2)
rbp_box.set(xlabel='', ylabel='mm Hg', title='Resting blood pressure box plot')
解决方案

你可以通过两处修改实现需求:

  • 设置异常值为红色:在flierprops字典里添加markeredgecolor="red"(因为用的是x型标记,修改边缘颜色就能让标记显示红色)
  • 消除空白区域:通过plt.subplots()提前设置适配的图表尺寸,比如figsize=(3,6),针对单变量箱线图缩小宽度,避免多余空白

修改后的完整代码:

import seaborn as sns
import matplotlib.pyplot as plt

# 设置图表尺寸,缩小宽度消除空白
fig, ax = plt.subplots(figsize=(3, 6))
# 配置箱线图参数,设置异常值为红色x标记
rbp_box = sns.boxplot(
    data=df_raw,
    y="Resting blood pressure",
    color="red",
    flierprops={"marker": "x", "markeredgecolor": "red"},
    width=0.2,
    ax=ax
)
rbp_box.set(xlabel='', ylabel='mm Hg', title='Resting blood pressure box plot')
plt.show()

如果不想手动设置尺寸,也可以直接调整x轴范围来压缩空白:

# 在原有代码末尾添加这一行
plt.xlim(-0.3, 0.3)
plt.show()

内容的提问来源于stack exchange,提问作者GandarfTheWhite

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:20:38