欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > dash中update_yaxes函数怎样控制yaxis2

dash中update_yaxes函数怎样控制yaxis2

2025/2/24 11:41:29 来源:https://blog.csdn.net/m0_45378777/article/details/144850856  浏览:    关键词:dash中update_yaxes函数怎样控制yaxis2

在 Plotly 的 update_yaxes 函数中,可以通过设置参数 rowcol(如果是子图)或直接使用 yaxis 名称(如 yaxis2)来控制特定的 Y 轴属性。update_yaxes 是一个便捷函数,用于更新图表布局中某个或某些 Y 轴的属性。


使用 update_yaxes 控制 yaxis2 的方法

基本语法
fig.update_yaxes(<y-axis-specific-properties>, yaxis="y2")

其中,yaxis="y2" 明确指定要更新 yaxis2 的属性。


完整示例

import plotly.graph_objects as go# 创建一个带两个 Y 轴的图
fig = go.Figure()# 添加第一个数据集到主 Y 轴
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 20, 30], name="Y1 Data", yaxis="y"))# 添加第二个数据集到第二个 Y 轴
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[40, 50, 60], name="Y2 Data", yaxis="y2"))# 设置布局,初始化两个 Y 轴
fig.update_layout(yaxis=dict(domain=[0, 0.5], title="Primary Y-Axis"),yaxis2=dict(domain=[0.51, 1], title="Secondary Y-Axis"),
)# 使用 update_yaxes 来修改 yaxis2 的属性
fig.update_yaxes(title="Updated Y2 Title", showgrid=True, gridwidth=2, gridcolor="blue", yaxis="y2")# 显示图
fig.show()

关键点说明

  1. yaxis="y2":

    • 指定 yaxis2,即更新图表布局中的第二个 Y 轴。
  2. update_yaxes 属性
    可以传入的属性包括:

    • title: 设置 Y 轴标题。
    • range: 设置轴范围,如 range=[0, 100]
    • showgrid: 是否显示网格线(布尔值)。
    • gridwidth: 设置网格线宽度。
    • gridcolor: 设置网格线颜色。

多个子图情况下的使用

如果图表使用 make_subplots 来创建多个子图,则需要指定 rowcol 来定位 yaxis2 的具体位置。

示例:在子图中更新 yaxis2
from plotly.subplots import make_subplots# 创建子图
fig = make_subplots(rows=2, cols=1, shared_xaxes=True)# 添加第一个子图
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 20, 30], name="Y1 Data"), row=1, col=1)# 添加第二个子图
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[40, 50, 60], name="Y2 Data"), row=2, col=1)# 使用 update_yaxes 更新第二个子图的 Y 轴
fig.update_yaxes(title="Y2 Updated Title", range=[0, 100], row=2, col=1)# 显示图
fig.show()

关键参数说明

  • rowcol:

    • 指定子图中轴的行和列位置。
    • 在子图场景中,这比直接使用 yaxis 更常用。
  • 适用于子图场景

    • 如果没有使用 rowcol,更新时可能作用于主图的 Y 轴(默认 yaxis)。

常用的 Y 轴属性

以下是可以用在 update_yaxes 中的常用属性:

属性描述
title设置 Y 轴标题(如 title="Y-Axis Label")。
range设置轴范围(如 range=[0, 100])。
showgrid是否显示网格线(布尔值,如 showgrid=True)。
gridcolor网格线颜色(如 gridcolor="blue")。
gridwidth网格线宽度(如 gridwidth=2)。
tickvals指定刻度值列表(如 tickvals=[0, 10, 20])。
ticktexttickvals 对应的显示文本(如 ticktext=["Low", "Medium", "High"])。
linecolor设置 Y 轴线的颜色。
linewidth设置 Y 轴线的宽度。

总结

  • 在普通图表中,使用 yaxis="y2" 来指定更新 yaxis2 的属性。
  • 在子图场景中,使用 rowcol 来指定具体的子图位置。
  • update_yaxes 是更新 Y 轴属性的强大工具,适用于单轴、多轴和子图场景。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词