3

我使用 plotly.express 在 plotly 中生成了一个图。我使用 pandas.DataFrame 和一列来区分将其放入 facet_row 的两个子图现在我的数据具有非常不同的比例,它们正在操作一个,但是将相同的范围分配给两个 yaxis。我尝试将“范围”属性分配给 .layout.yaxis1 字典(使用列表),但这会更改上图和下图的 y 轴。最小的工作示例:

import plotly.express as px    
px.bar(pd.DataFrame({'x':[50,60,45,.80],'y': [800,900,1,2],"dif":['a','a','b','b']}),x='x',y='y',facet_row='dif')

如何单独更改第一个轴?

4

1 回答 1

3

如果添加.update_yaxes(matches=None)这将破坏 Y 轴范围之间的联系。

这是有效的,因为px.bar()(和任何其他px.*())返回一个Figure可通过各种.update_*()方法更新的对象。这些方法会发生变异并返回图形。px.bar(facet_row="whatever")默认情况下将yxaxis*.matches属性设置为y1,因此清除 via.update_yaxes()将获得您想要的行为。

之后,您可以根据自己的喜好独立设置范围。

更多信息:https ://plot.ly/python/creating-and-updating-figures/

于 2019-07-24T15:12:05.480 回答