在 plotly 子图中更改单轴

Change single axis in plotly subplots

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

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')

如何单独更改第一个轴?

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

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

之后您可以随意设置范围。

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