[英]Plotly: How to control which trace is in front for double y-axes?
次 y 轴上的轨迹将出现在顶部。 无论是go.Scatter()
跟踪还是go.Bar()
跟踪
该overlaying
属性仅适用于案件有两个以上的y轴一样,在这里:
从文档中您可以看到:
重叠父:layout.xaxis 类型:枚举,其中之一 ( "free" | "/^x([2-9]|[1-9][0-9]+)?$/" | "/^y( [2-9]|[1-9][0-9]+)?$/" ) 如果设置了相同字母的轴 id,则该轴覆盖在相应的相同字母轴的顶部,带有轨迹和轴两个轴都可见。 如果为“False”,则此轴不会覆盖任何相同字母的轴。 在这种情况下,对于具有重叠域的轴,只有编号最高的轴是可见的。
那么,你的情况呢? 通常,跟踪按它们添加到fig
的顺序显示。 但对于具有两个 y 轴的图形则不然。 看来您将不得不使用在主轴上显示的轨迹进行切换。 第一个片段生成一个在主轴上带有条形图的图形。 第二个片段生成一个在辅助轴上带有条形的图形。 这也决定了哪条轨迹显示在顶部。
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])
# Add traces
fig.add_trace(
go.Bar(x=[1, 2, 3], y=[40, 50, 60], name="yaxis data"),
secondary_y=True,
)
fig.add_trace(
go.Scatter(x=[1, 2, 3], y=[45, 50, 45], name="yaxis2 data"),
secondary_y=False,
)
图.show()
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])
# Add traces
fig.add_trace(
go.Bar(x=[1, 2, 3], y=[40, 50, 60], name="yaxis data"),
secondary_y=False,
)
fig.add_trace(
go.Scatter(x=[1, 2, 3], y=[45, 50, 45], name="yaxis2 data"),
secondary_y=True,
)
fig.show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.