g = GraphWidget('https://plot.ly/~jackp/2590')
x = y = np.arange(-5,5,0.1)
yt = x[:,np.newaxis]
class z_data:
def __init__(self):
self.z = np.cos(x*yt)+np.sin(x*yt)
def on_z_change(self, name, old_value, new_value):
self.z = np.cos(x*yt*(new_value+1)/100)+np.sin(x*yt*(new_value+1/100))
self.replot()
def replot(self):
g.restyle({ 'z': [self.z] })
z_slider = widgets.FloatSliderWidget(min=0,max=3,value=1,step=0.05)
z_slider.description = 'Frequency'
z_slider.value = 1
z_state = z_data()
z_slider.on_trait_change(z_state.on_z_change, 'value')