首页 > 解决方案 > Plotly range_slider 限制

问题描述

我运行下面的代码以使用 plotly 创建带有范围滑块的散点图。这会产生以下输出 -这里

我想让分散“紧密”,即没有松弛,两边没有数据。当我从 plotly 的文档中运行代码时,没有松弛(相同的笔记本,相同的内核)。

当我添加时 -fig.update_layout(xaxis=dict(range=[x[0],x[-1]]))它只更新图形的范围,而不是滑块的范围。在此处输入图像描述

我会很感激任何建议。

import plotly.graph_objects as go
from datetime import datetime, timedelta

x = [datetime(2019, 1, 1) + timedelta(days=i) for i in range(365)]
y = [1]  * 365
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, name="Pred", mode="markers"))
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"),
                dict(count=1,
                     label="YTD",
                     step="year",
                     stepmode="todate"),
                dict(count=1,
                     label="1y",
                     step="year",
                     stepmode="backward"),
                dict(step="all")
            ])
        ),
        rangeslider=dict(
            visible=True
        ),
        type="date"
    )
)
fig.show()

标签: pythonplotly

解决方案


通过在之前添加以下行fig.show()

fig.update_layout(xaxis=dict(range=[x[0],x[-1]],rangeslider=dict(range=[x[0],x[-1]])))

你的图表应该变成:

在此处输入图像描述


推荐阅读