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
相关产品推荐
相关产品推荐

