Спасибо @vestland, которая очень помогла!
Я нашел способ более гибкого дизайна (несколько facet_rows), основываясь на вашем ответе:
Сначала мне нужно было удалить все оси подзаговоров:
for axis in fig.layout:
if type(fig.layout[axis]) == go.layout.YAxis:
fig.layout[axis].title.text = ''
Следующим шагом было добавление аннотации вместо оси, так как атрибут yaxis в макете всегда изменяет масштабирование одной из осей и портит график. В поисках аннотаций я нашел ссылку , как добавить собственную ось. xref = 'paper' и yref = 'paper' необходимы для размещения этикетки независимо от вспомогательных участков.
fig.update_layout(
# keep the original annotations and add a list of new annotations:
annotations = list(fig.layout.annotations) +
[go.layout.Annotation(
x=-0.07,
y=0.5,
font=dict(
size=14
),
showarrow=False,
text="Custom y-axis title",
textangle=-90,
xref="paper",
yref="paper"
)
]
)