Добавление ползунка к рисунку с подзаголовками в plotly

Я пытаюсь использовать сюжетно, чтобы показать, как 4 разные функции меняются при изменении одного из их общих параметров. Мне нужно 4 составных подзаголовка (по одному для каждой функции) с ползунком под ним для этого изменяющегося параметра. По сути, я надеюсь, что это будет похоже на пример Подграфик с общими осями X на эта страница, за исключением ползунка, подобного показанному здесь под ним. Эта страница выглядит обманчиво похожим на то, что мне нужно, за исключением того, что мне здесь не нужен ползунок диапазона. Это не тот код, который я использую, но для удобства я опубликую код, похожий на мой по структуре:

def f(rho):
    dom = np.linspace(0, 1, 50)
    f1 = (dom - rho) ** 2
    f2 = np.sin(dom * rho)
    f3 = np.abs(dom - rho)
    f4 = dom ** rho
    return f1, f2, f3, f4

Я хочу увидеть, как эти 4 функции меняются с помощью rho в np.linspace(0.5, 2, 101), поэтому rho - это переменная, управляемая ползунком. Мне нравится сюжетность из-за некоторых настроек, которые я хотел бы сделать, и возможности прокручивать фигуру, чтобы увидеть значения функций.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
0
1 405
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В конце концов я нашел эта почта на форумах сообщества plotly, который отвечает на вопрос следующим примером кода:

import plotly.graph_objs as go
from plotly.tools import make_subplots

fig = make_subplots(1, 2)

fig.add_scatter(y=[1, 3, 2], row=1, col=1, visible=True)
fig.add_scatter(y=[3, 1, 1.5], row=1, col=1, visible='legendonly')
fig.add_scatter(y=[2, 2, 1], row=1, col=1, visible='legendonly')
fig.add_scatter(y=[1, 3, 2], row=1, col=2, visible=True)
fig.add_scatter(y=[1.5, 2, 2.5], row=1, col=2, visible='legendonly')
fig.add_scatter(y=[2.5, 1.2, 2.9], row=1, col=2, visible='legendonly')

steps = []
for i in range(3):
    step = dict(
        method = 'restyle',  
        args = ['visible', ['legendonly'] * len(fig.data)],
    )
    step['args'][1][i] = True
    step['args'][1][i+3] = True
    steps.append(step)

sliders = [dict(
    steps = steps,
)]

fig.layout.sliders = sliders

go.FigureWidget(fig)

Это ответ только по ссылке. Не могли бы вы отредактировать свой ответ, включив в него те части, которые вы считаете полезными? Таким образом, если ссылка не работает, ваш ответ по-прежнему будет полезен другим.

Wai Ha Lee 04.03.2019 17:10

Другие вопросы по теме