07 August 2020

Plotly : области. Делаем два графика.

 Следующим шагом мы сделаем две области, то есть построим два графика на одном холсте.
В Plotly функция для создания областей в общем-то схожая.

Для начала ее экспортируем:

from plotly.subplots import make_subplots


Далее создаем две области по вертикали, то есть одна колонка и две строчки. При создании областей можно сразу их подписать:

fig = make_subplots(rows=2, cols=1 , subplot_titles = ('Upper', 'Lower') )

Создаем две точечных диаграммы:

trc1 = go.Scatter(
    x = x, y = y,
    name = 'Scatter sample',
    line = dict(color= 'green', dash='dot'),
    marker_symbol ='diamond-open',
    mode ='markers+lines'
)
trc2 = go.Scatter(
    x = x, y = y2,
    name = 'Scatter sample 2',
    line = dict(color= 'green', dash='dot'),
    marker_symbol ='diamond-open',
    mode ='markers+lines'
)


Добавляем первую диаграмму:

fig.add_trace ( trc1 , row = 1, col =1 )


Сразу же после исполнения появляется график, но с одной диаграммой: 

Добавляем вторую диаграмму:

fig.add_trace ( trc2 , row = 2, col =1 )

Теперь отображаются уже два графика:

Осталось только подписать оси и сам график уже известным способом. Разница только в том, что для подписей осей используется ссылка на строку и колонку:

fig.update_xaxes( title = 'My new X axis' , row =1 , col =1 )
fig.update_yaxes( title = 'My new Y axis' , row =1 , col =1 )
fig.update_xaxes( title = 'My second X axis' , row =2 , col =1 )
fig.update_yaxes( title = 'My second Y axis' , row =2 , col =1 )
fig.update_layout( title = 'My New Chart' )


Вот и результат:

 

Таким образом по сравнению с matplotlib использование Plotly не сильно сложнее  - разве что создание самого графика несколько более длиннее в записи  go.Scatter по сравению с plot.
C другой стороны не требуется настройка вертикальных отступов посредством subplots_adust и библиотека отступы сама отлично настраивает.

No comments:

Post a Comment