图,图上的多个参数滑块

问题描述 投票:-1回答:1

我在Plotly和Bokeh之间进行选择,作为在Django应用程序html模板上创建一些交互式图形时使用的框架。

我想在Bokeh示例下面复制,但使用Plotly。

我可以用one slider找到Plotly示例,但没有多个参数的多个滑块/输入框。

[Plotly的论坛在2017年提出了类似的问题,但当时,在html模板上不能有多个滑块。

今天有可能吗,在这种情况下如何?

如果不是这样,假设我选择Bokeh作为开始,那么就简单的交互(如此处所述),我是否会更具灵活性?

enter image description here

python django plotly bokeh
1个回答
0
投票

这里是一个示例using plotly with ipywidgets,改编自this example

import numpy as np
import pandas as pd
import plotly.graph_objects as go
from ipywidgets import widgets

amp_slider = widgets.FloatSlider(value=1, min=0.1, max=10, step=.1, description='Amplitude', 
                                 continuous_update=False)
freq_slider = widgets.FloatSlider(value=1, min=0.1, max=10, step=.1, description='Frequency', 
                                 continuous_update=False)
phase_slider = widgets.FloatSlider(value=0, min=0, max=6.4, step=.1, description='Phase', 
                                 continuous_update=False)
offset_slider = widgets.FloatSlider(value=0, min=-5, max=5, step=.1, description='Offset', 
                                 continuous_update=False)

def pltSin(a,b,c,d):
    x = np.linspace(0, 10, 500)
    y = d + a*np.sin(b*x + c)
    fig = go.Figure(go.Scattergl(x=x, y=y))
    fig.show()

pltout = widgets.interactive(pltSin, a=amp_slider, b=freq_slider, c=phase_slider, d=offset_slider)
pltout

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.