首页 > 解决方案 > 使用带有 plotly.express facetrow / facetcol 的固定比率轴

问题描述

是否有可能将固定比率轴与plotly.express通过使用facetrow/创建的子图结合使用facetcol

这个例子工作得很好:

import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", facet_col='species')

fig.update_layout(yaxis=dict(scaleanchor="x", scaleratio=1))

一旦我添加了facetrow参数,它就不会调整轴。我可以使用为子图设置默认布局吗 layout = go.Layout(yaxis=dict(scaleanchor="x", scaleratio=1))

在此处输入图像描述

谢谢您的帮助,

索伦

标签: pythonplotlydata-visualizationvisualization

解决方案


创建构面时plotly.express将轴匹配在一起,以便您可以在缩放、平移等时同步子图。此行为与约束轴纵横比不兼容。下面禁用轴匹配的代码给出了所需的行为:

import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", facet_col='species')

fig.update_yaxes(matches=None, showticklabels=True)
fig.update_xaxes(matches=None)
fig.update_layout(yaxis=dict(scaleanchor="x"))
fig.update_layout(yaxis2=dict(scaleanchor="x2"))
fig.update_layout(yaxis3=dict(scaleanchor="x2"))
fig.show()

情节表达方面


推荐阅读