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

如何动态调整plotly.graph_objects已生成图表的Y轴范围

enter image description here

上图通过以下代码生成:

import plotly.graph_objects as go

candlestick = go.Candlestick(x=data.index,
                        open=data.open,
                        high=data.high,
                        low=data.low,
                        close=data.close,
                        increasing_line_color='red',
                        decreasing_line_color='green')
fig = go.Figure(data=[candlestick])
fig.show()    

问题

图表生成后可通过右上角的“Zoom in”“Zoom out”按钮调整X轴范围,但未找到Y轴调整入口。例如需要将Y轴最小值设为175、最大值设为177时,如何在图表生成后动态修改Y轴取值范围?
已知fig.update_yaxes(range=[175,177])可更新Y轴范围,但执行该命令需要重启程序,使用不便。

解答

Plotly原生支持图表生成后动态调整Y轴范围,完全不需要重启程序重跑代码,可根据使用场景选对应方式:

  • 直接在已渲染的图表页面操作:
    • 单独调整Y轴:将鼠标移动到Y轴刻度区域,等光标变为上下双向箭头时,滚动滚轮即可缩放Y轴,按住拖动可平移Y轴区间;也可以点击右上角齿轮形状的设置按钮,在「Axes」选项卡中选中Y轴,直接手动输入范围的最小值、最大值,设置后实时生效。
    • 自定义区间缩放:按住鼠标左键在图表绘图区纵向/横向框选目标区间,松开后会自动缩放到框选的XY轴范围,双击绘图区即可重置回初始视图。
  • 代码层面无需重启的更新方式:如果你在Jupyter Notebook/Lab、IPython等交互环境中运行代码,fig对象会一直驻留内存,不需要重启内核,直接在新的单元格/命令行中执行fig.update_yaxes(range=[175,177]),图表会自动同步更新范围。

如果是运行本地py脚本弹出的浏览器窗口,本质是渲染完成的静态HTML页面,这种场景下直接用页面内置的鼠标/设置项调整Y轴即可,不需要修改代码重跑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:42:15