Как включить и отключить логарифмический масштаб в качестве средства просмотра в Plotly? - PullRequest
0 голосов
/ 25 февраля 2019

Я недавно изучаю Plotly, и мне интересно, есть ли способ поделиться графиком и позволить зрителю переключаться между логарифмической осью и линейной осью.

Любое предложение?

1 Ответ

0 голосов
/ 25 февраля 2019

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

import plotly
import plotly.graph_objs as go


x = [1, 2, 3]
y = [1000, 10000, 100000]
y2 = [5000, 10000, 90000]

trace1 = go.Bar(x=x, y=y, name='trace1')
trace2 = go.Bar(x=x, y=y2, name='trace2', visible=False)


data = [trace1, trace2]

updatemenus = list([
    dict(active=1,
         buttons=list([
            dict(label='Log Scale',
                 method='update',
                 args=[{'visible': [True, True]},
                       {'title': 'Log scale',
                        'yaxis': {'type': 'log'}}]),
            dict(label='Linear Scale',
                 method='update',
                 args=[{'visible': [True, False]},
                       {'title': 'Linear scale',
                        'yaxis': {'type': 'linear'}}])
            ]),
        )
    ])

layout = dict(updatemenus=updatemenus, title='Linear scale')
fig = go.Figure(data=data, layout=layout)

plotly.offline.iplot(fig)

Я добавил две трассы в список data, чтобы показать, как трассы также можно добавлять или удалять.из сюжета.Это можно контролировать списком visible в updatemenus для каждого button.

...