Plotly Python: как правильно добавлять фигуры в подграфикиPython

Программы на Python
Ответить
Anonymous
 Plotly Python: как правильно добавлять фигуры в подграфики

Сообщение Anonymous »

Как на графике добавляются фигуры к фигурам с несколькими подграфиками и какие рекомендации существуют в этом отношении?
Давайте рассмотрим следующий пример:

Код: Выделить всё

from plotly.subplots import make_subplots
fig = make_subplots(rows=2, cols=1, shared_xaxes=True)
fig.add_vrect(x0=1, x1=2, row=1, col=1, opacity=0.5, fillcolor="grey")
fig.add_scatter(x=[1,3], y=[3,4], row=1, col=1)
fig.add_scatter(x=[2,2], y=[3,4], row=2, col=1)
Изображение
Если мы добавим_vrect в конце, прямоугольник будет отображаться так, как я и ожидал.

Код: Выделить всё

fig = make_subplots(rows=2, cols=1, shared_xaxes=True)
fig.add_scatter(x=[1,3], y=[3,4], row=1, col=1)
fig.add_scatter(x=[2,2], y=[3,4], row=2, col=1)
fig.add_vrect(x0=1, x1=2, row=1, col=1, opacity=0.5, fillcolor="grey")
Изображение
Теперь, когда я отхожу от фиктивного примера к более сложному графику (3 подграфика, несколько осей Y, логарифмическое масштабирование, ось даты и времени), добавление последних прямоугольников тоже не помогает. Мне не удается визуализировать их для двух из трех подсюжетов.
Поэтому я пытаюсь лучше понять, как сюжетно это происходит под капотом. Судя по тому, что я понял на данный момент, прямоугольники являются фигурами и, следовательно, не являются частьюfigure.data, аfigure.layout. В приведенных выше фиктивных примерах фигуры добавляются в макет только во втором дубле. Почему?

Целесообразно ли использовать fig.add_shape(type="rect") при работе с более сложными графиками?

Или стоит отказаться и просто вручную возиться с fig.layout.shapes вместо использования вызовов функций?
Примеры сделаны с помощьюplotly 5.15.0.

Подробнее здесь: https://stackoverflow.com/questions/791 ... o-subplots
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»