Как сделать области отображения графиков subplots квадратными в Plotly?

Я рисую несколько scatterplot'ов с помощью make_subplots(), и хочу, чтобы область отображения графика была квадратной. Мне удалось сделать это лишь для случая, когда такой график один: Случай для одного графика

Когда таких графиков несколько, они по какой-то причине растягиваются по ширине всей белой области: Случай для двух графиков

Хотелось бы, чтобы эти графики были такими же квадратными как первый. Фрагмент кода, отвечающий за отрисовку:

for i, pred_list in enumerate(predictions):
...
    fig.add_trace(
        go.Scatter(**(reduced_scatter_args if reduced else scatter_args)),
        row=1,
        col=i + 1,
    )

    fig.add_shape(
        type='line',
        line={'dash': 'dash'},
        x0=min(scatter_args['x']),
        x1=max(scatter_args['x']),
        y0=min(scatter_args['x']),
        y1=max(scatter_args['x']),
        row=1,
        col=i + 1,
    )

    fig.update_xaxes(
        range=[np.quantile(scatter_args['x'], .02), np.quantile(scatter_args['x'], .98)],
    )

    fig.update_yaxes(
        range=[np.quantile(scatter_args['x'], .02), np.quantile(scatter_args['x'], .98)],
    )

fig.update_xaxes(
    title_text='Original',
    constrain='domain',
    scaleanchor='y',
    scaleratio=1,
)

fig.update_yaxes(
    title_text='Predicted',
)

fig.update_layout(
    legend={'orientation': 'h', 'y': -0.5},
    showlegend=True,
)

Такое чувство, будто настройки для квадратности, используемые в параметрах constrain, scaleanchor, scaleratio, применяются только на первой итерации, а на остальных нет. Подскажите, пожалуйста, есть ли, идеи, как это можно исправить?


Ответы (0 шт):