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

如何在日期型X轴上添加多组箱线图?

解决Plotly箱线图X轴显示日期的问题

你遇到的问题是因为使用预编译分位数模式时,没有正确将日期与每个箱线对应绑定。以下是修改后的代码及关键说明:

修改后的完整代码

import pandas as pd
import plotly.graph_objects as go
from plotly.subplots import make_subplots

# 确保Date列是datetime类型(若原始数据格式不符则执行此步)
df['Date'] = pd.to_datetime(df['Date'])

# 提取对应箱线数量的日期(你当前有3个箱线,取3个目标日期)
box_dates = df['Date'].unique()[:3]

fig = make_subplots(rows=2, columns=1)
fig.add_trace(go.Scatter(x=df['Date'], y=df['Measure']), row=1, col=1)

fig.add_trace(go.Box(
    x=box_dates,  # 为每个箱线绑定对应的日期
    y=[[0], [0], [0]],
    name="Precompiled Quartiles",
    q1=[1, 2, 3],
    median=[4, 5, 6],
    q3=[7, 8, 9],
    lowerfence=[-1, 0, 1],
    upperfence=[5, 6, 7]
), row=2, col=1)

# 可选:强制指定X轴为日期类型,确保显示格式正确
fig.update_xaxes(type='date', row=2, col=1)

fig.show()

关键说明

  • 日期与箱线绑定:使用预编译分位数参数(q1/median/q3等)时,x参数的数组长度必须和分位数数组长度一致(此处均为3),每个元素对应一个箱线的X轴位置。
  • 日期格式校验:必须保证Date列是datetime类型,否则Plotly无法识别为日期轴,会默认按索引值(0、1、2)显示。
  • X轴类型强制设置:通过update_xaxes(type='date')可以明确指定X轴为日期类型,避免出现显示格式异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:18:09