python-3.x 当我使用范围选择器时,如何过滤掉周末?

krugob8w  于 2023-02-06  发布在  Python
关注(0)|答案(1)|浏览(111)

我有个计划-

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=[
    dict(bounds=["sat", "mon"])
]
)

范围分隔符在常规图表上效果很好。我的数据集中排除了周末。但是,如果单击其中一个范围选择器,则不再排除周末。现在,您可以看到周末。如果使用范围分隔符选项将一天中的特定小时设置为排除,情况也是如此。如何使范围分隔符即使在选择了范围选择器选项的情况下也保持不变?

u3r8eeie

u3r8eeie1#

此处建议的解决方案:https://community.plotly.com/t/range-slider-selectors-showing-partial-data-or-failing-to-show-data/38354/2?u=fractalnexus

必须为轴设置范围(不是滑块)。解决方案仅适用于绘图模式:“线”(“标记”或“线+标记”会给选择器带来其他问题,请参见链接中的线程)

链接中的代码(作者:Emmanuelle):

fig.update_layout(
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label="1M",
                     step="month",
                     stepmode="backward"),
                dict(count=3,
                     label="3M",
                     step="month",
                     stepmode="backward"),
                dict(count=6,
                     label="6M",
                     step="month",
                     stepmode="backward"),
                dict(count=1,
                     label="YTD",
                     step="year",
                     stepmode="todate"),
                dict(count=1,
                     label="1Y",
                     step="year",
                     stepmode="backward"),
                dict(label="All",
                     step="all")
            ])
        ),
        rangeslider=dict(
            visible=True,
        ),
        range=(dates[0], dates[-1]),
        type="date"
    )
)

相关问题