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

Plotly Python如何同时设置箱线图须长并为单个箱线单独配色

实现方案

原示例把多组箱线放在同一个go.Box trace里的写法,不支持给单个箱线配置独立颜色。只要把每个箱线拆成独立trace单独添加,就能同时满足两个需求:既完全保留对四分位数、上下围栏(须长)等统计参数的自定义控制权,又能给每个箱线单独设置配色。

直接参考下面可运行的代码,参数和你给出的官方示例完全对应:

import plotly.graph_objects as go

fig = go.Figure()

# 第1个箱线 独立配色
fig.add_trace(go.Box(
    y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    name="分组1",
    # 自定义统计参数,和原示例第一组数值一一对应
    q1=1,
    median=4,
    q3=7,
    lowerfence=-1,
    upperfence=5,
    mean=2.2,
    sd=0.2,
    notchspan=0.2,
    # 自定义该箱线的颜色:填充色、边框色、点色
    fillcolor="#636EFA",
    line_color="#2033B4",
    marker_color="#2033B4"
))

# 第2个箱线 独立配色
fig.add_trace(go.Box(
    y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    name="分组2",
    # 对应原示例第二组统计值
    q1=2,
    median=5,
    q3=8,
    lowerfence=0,
    upperfence=6,
    mean=2.8,
    sd=0.4,
    notchspan=0.4,
    fillcolor="#EF553B",
    line_color="#B82A12",
    marker_color="#B82A12"
))

# 第3个箱线 独立配色
fig.add_trace(go.Box(
    y=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    name="分组3",
    # 对应原示例第三组统计值
    q1=3,
    median=6,
    q3=9,
    lowerfence=1,
    upperfence=7,
    mean=3.2,
    sd=0.6,
    notchspan=0.6,
    fillcolor="#00CC96",
    line_color="#008761",
    marker_color="#008761"
))

# 全局统一配置:显示均值+标准差、开启缺口
fig.update_traces(boxmean="sd", notched=True)
fig.show()

补充说明

  • 所有统计参数的逻辑和官方示例完全一致,拆分为单trace后参数传单个数值即可,你对须长、四分位、均值、缺口宽度的自定义权限不会有任何损失
  • 除了填充色,每个箱线还可以单独调整须线样式、边框粗细、异常点样式、均值线样式等所有视觉属性
  • 如果箱线数量较多,可以把分组名称、统计值、配色整理成列表循环添加trace,减少重复代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:06:32