我在Plotly和Bokeh之间进行选择,作为在Django应用程序html模板上创建一些交互式图形时使用的框架。
我想在Bokeh示例下面复制,但使用Plotly。
我可以用one slider找到Plotly示例,但没有多个参数的多个滑块/输入框。
[Plotly的论坛在2017年提出了类似的问题,但当时,在html模板上不能有多个滑块。
今天有可能吗,在这种情况下如何?
如果不是这样,假设我选择Bokeh作为开始,那么就简单的交互(如此处所述),我是否会更具灵活性?
这里是一个示例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