密谋-使用“ secondary_y”属性与跟踪列表?

时间:2020-02-11 18:31:17

标签: python plotly

因此,我在列表traces中有一些data。然后,将它们添加到我的图形中,如下所示:

data = [trace1,trace2] 
fig = go.Figure(data=data,layout=layout) 

但是,我想在一条轨迹上添加辅助轴,然后发现了this方法:

fig.add_trace( trace, secondary_y=True) 
fig.update_yaxes(title_text='Second Y-axis',secondary_y=True)

但是,我将如何在跟踪列表中执行此操作?还是使用这种secondary_y方法是不可能的,而必须使用其他方法,例如在轨迹中显式添加一个轴y1,y2

1 个答案:

答案 0 :(得分:1)

您可以使用plotly Figure的update_traces方法及其选择器属性来选择特定的迹线,如下面的示例所示

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}]])
traces = [go.Scatter(x=[1, 2], y=[3, 4], name='one'),
          go.Bar(x=[1, 2], y=[10, 12], name='two')]
fig.add_traces(traces)
fig.update_traces(yaxis='y2', selector={'type':'bar'})
fig.show()

您还可以在for循环中使用跟踪列表,在该循环中,条件是secondary_y的值,这在情节上更加惯用。

secondary_y不是绘图轨迹的属性,而是某些函数中使用的便捷属性,因此您不能将其直接传递给轨迹。