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

Plotly中使用范围选择器时,如何保持Range Breaks的周末过滤效果?

解决Plotly中Rangebreaks在范围选择器点击后失效的问题

问题出在rangebreaks的配置层级上——你当前把它放在了layout的根目录,而触发范围选择器按钮时,Plotly会重置x轴的相关配置,导致根层级的rangebreaks被忽略。

只需要把rangebreaks嵌套到xaxis的配置字典中,让它成为x轴的固有配置,就能保证在任何视图切换下都生效:

fig = go.Figure()

fig.add_trace(
    go.Scattergl(x=list(df.Date), y=list(df.Measure)), row=1, col=1)
    
fig.update_layout(
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label="1m",
                     step="month",
                     stepmode="backward"),
                dict(count=6,
                     label="6m",
                     step="month",
                     stepmode="backward")
            ])
        ),
        rangeslider=dict(
            visible=True
        ),
        type="date",
        # 将rangebreaks移到xaxis配置内
        rangebreaks=[
            dict(bounds=["sat", "mon"])
        ]
    )
)

这样修改后,无论点击范围选择器的哪个按钮,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.21 22:57:21