我使用Plotly创建一个图形,其中主y轴上有两条线,次y轴上有一个条形图,显示line 2/line 1的比例。
代码工作正常,但它创建了太多的参考行(1000、2000、3000…和1% 2% 3%...右轴)。
**是否可以将它们对齐?**例如,1000和1%将共享相同的参考线,或始终对齐左轴和右轴的任何其他方式。
下面是代码和生成的图形:
fig = make_subplots(specs=[[{'secondary_y': True}]])
fig.add_trace(go.Scatter(x=data['date'], y=data['y1'],
mode='lines+markers',
name='Y1'), secondary_y=False)
fig.add_trace(go.Scatter(x=data['date'], y=data['y2'],
mode='lines+markers',
name='Y2'), secondary_y=False)
fig.add_trace(go.Bar(x=data['date'], y=data['pct'],
name='PCT', opacity=0.5), secondary_y=True)
fig.update_layout(title=f'Graph', yaxis2=dict(tickformat='.2%'))
字符串
x1c 0d1x的数据
3条答案
按热度按时间gmxoilav1#
我可以通过将两个轴范围模式设置为零,然后更改比例,使1k与1%对齐,2k与2%对齐等方式使其工作
字符串
的数据
ruyhziif2#
一种方法是确保两个y轴具有相同数量的刻度,并且每个刻度之间具有相等的相对空间。下面是一个示例:
字符串
图一:
的数据
如果没有添加,下面的代码示例将生成以下图:
图二:
的
完整代码:
型
dz6r00yl3#
如果你使用的是最近的plotly(我确认的版本>= 5.15.0),那么将次要y轴与主要y轴对齐的简单方法。请参阅doc。
字符串