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

如何在Python的Plotly图表中使用Range Slider时实现自动缩放?

解决Plotly范围滑块/选区选择时Y轴自动缩放的问题

核心解决方案

要实现X轴范围变更(拖动滑块、使用范围选择器、框选X轴区域)时,Y轴自动适配当前可见数据的范围,只需在图表布局中为Y轴添加autorange=True和fixedrange=False配置即可。

修改后的完整代码

整合数据获取与绘图逻辑,添加关键的Y轴配置:

import yfinance as yf
import plotly.graph_objs as go

# 获取示例数据
vix_tickers = ['AUDJPY=X']
df = yf.download(vix_tickers,
                 auto_adjust=True,
                 progress=False,
            )
df = df[["Close"]]
df.sort_index(ascending=True, inplace=True)

# 创建带连线的散点图(折线图)
fig = go.Figure()
trace = go.Scatter(x=list(df.index), y=list(df.Close))
fig.add_trace(trace)

fig.update_layout(
    title="Time series with range slider and selectors",
    xaxis=dict(
        rangeselector=dict(
            buttons=[
                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",
    ),
    # 关键配置:开启Y轴自动缩放
    yaxis=dict(
        autorange=True,
        fixedrange=False
    )
)

fig.show()

关键配置说明

  • yaxis.autorange=True:触发Plotly在X轴范围变更时,自动计算当前可见数据的Y轴极值,动态调整Y轴范围。
  • yaxis.fixedrange=False:确保Y轴支持自动缩放逻辑的同时,保留用户手动缩放Y轴的权限。

效果验证

拖动范围滑块、点击范围选择器按钮,或直接在图表上框选X轴区域时,Y轴会自动适配当前可见数据的上下限,让数据展示更紧凑清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:31:05