Jupyter笔记本中的交互式散景图未更新

时间:2018-06-15 14:55:37

标签: python matplotlib jupyter-notebook bokeh

我写了下面的小脚本,我只想绘制一条交互式正弦曲线,我可以改变曲线的幅度和图的标题。但是,作为输出,我将图形与滑块和文本字段一起使用,但更改值不会更改曲线或标题。

import numpy as np
from bokeh.io import push_notebook
import pandas as pd
from ipywidgets import interact
from bokeh.layouts import widgetbox
from bokeh.io import push_notebook

x = np.linspace(0,2*np.pi,2000)
y = np.sin(x)

df_data = pd.DataFrame({'x':x,'y':y})

p = figure(plot_height=300,plot_width=600,title="my sine wave")
p.line('x','y',source=df_data)


# Set up widges
amplitude = Slider(title="amlitude", value=0.0, start=0.01, end=0.99, step=0.01)
text = TextInput(title="title", value='my sine wave')

# Update
def update_data(attrname, old, new):

    # Get the current slider values
    a = amplitude.value
    b = text.value

    y = amplitude*np.sin(x)


    output_notebook()
    show(row(p,widgetbox([amplitude,text])))




text.on_change('value', update_data)
amplitude.on_change('value',update_data)



# Set to output the plot in the notebook

output_notebook()
show(row(p,widgetbox([amplitude,text])))

enter image description here

正如你所看到的,一切正常,而不是更新情节。

1 个答案:

答案 0 :(得分:0)

  
    

一切正常,而不是更新情节。

  

update_data范围内,您必须再次show(),因为在您的底线或它不会刷新。