Используйте ось с фиксированной пропорцией с помощью plotly. express facetrow / facetcol - PullRequest
1 голос
/ 13 февраля 2020

есть ли возможность использовать оси с фиксированным отношением в сочетании с вспомогательными участками, созданными 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))

enter image description here

Спасибо за вашу помощь,

Sören

1 Ответ

1 голос
/ 15 февраля 2020

при создании граней plotly.express сопоставляет оси вместе, чтобы вы могли синхронизировать вспомогательные участки при масштабировании, панорамировании и т. Д. c. Это поведение не совместимо с ограничением пропорций осей. Код ниже, где вы отключаете согласование осей, дает желаемое поведение:

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

plotly express facets

...