Simple dashboard with chartΒΆ

[1]:
from ipyflex import FlexLayout
import ipywidgets as widgets
import plotly.graph_objects as go
import numpy
import math
[2]:
slider = widgets.FloatRangeSlider(description = 'Range')
[3]:
omega = widgets.FloatSlider(description = 'Omega',value = 1)
[4]:
fig = go.FigureWidget()
fig.add_trace(go.Scatter(x=[],y=[]))
fig.update_layout(title = 'Hello Ipyflex')
fig.update_traces

f = lambda t: math.sin(t)
def compute(*ignore):
    min = slider.value[0]
    max =  slider.value[1]
    x = numpy.arange(min, max, (max-min)/100)
    y =  [f(omega.value* _) for _ in x]
    fig.data[0].x= x
    fig.data[0].y= y

slider.observe(compute, 'value')
omega.observe(compute, 'value')

[5]:
all_widgets =  {'A slider widget':slider, 'Output result': fig, 'Another slider': omega}
[6]:
w = FlexLayout(all_widgets, style={'height': '600px'}, template = './simple.json', editable=False)
w
[ ]:

[ ]: