如何解决将多个Y轴与Plotly中的一个值对齐 情节:完整代码:
我有以下代码(从Plotly的页面稍作修改)
df['firstOccurred'] = np.where(df['isDuplicated'],df.groupby(['B','C','D','E'])['ID'].transform('first'),np.nan)
print (df)
ID B C D E isDuplicated firstOccurred
0 1 Blue Green Blue Pink False NaN
1 2 Red Green Red Green False NaN
2 3 Red Orange Yellow Green False NaN
3 4 Blue Pink Blue Pink False NaN
4 5 Blue Orange Pink Green False NaN
5 6 Blue Orange Pink Green True 5.0
6 7 Red Orange Yellow Green True 3.0
7 8 Red Orange Yellow Green True 3.0
结果就是这样
现在,您会在左侧看到两个红色圆圈,在右侧看到一个红色圆圈。您会看到值50与同一矩形不对齐。
如何使左Y轴和右Y轴在某一特定点对齐? (在大多数情况下为0)
编辑:我想澄清一下,两个轴(左和右)上的值可以有很大的不同。喜欢
我只希望一个值(在这种情况下为0)的对齐方式处于同一水平
解决方法
您可以这样做:
- 为您的y轴设置(或找到)适当的最小值和最大值,
- 使用
fig.update_layout(yaxis=dict(range=[all_min,all_max]),yaxis2=dict(range=[all_min,all_max]))
调整y范围,并且 - 将次要y轴的
scaleanchor
设置为y1
,如下所示:fig.update_layout(yaxis2=dict(scaleanchor = 'y1'))
情节:
如果图形数据的来源是一个熊猫数据框,则除了在其中进行硬编码外,还有更优雅的方法来查找全局最大值和最小值。否则,方法将相同。
完整代码:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。