Jupyter:如何更新按钮点击图(ipywidgets)

时间:2017-12-18 23:38:06

标签: python matplotlib jupyter ipywidgets

我正在使用Jupyter并尝试让我的情节互动。

所以我有一个情节。我有一个ipywidgets按钮。

点击按钮我需要更新绘图,就像与滑块交互一样。

但我不能。

仅当matplotlib使用' notebook'后端,但看起来很糟糕。同时,交互可以与任何类型的图表一起使用。有没有办法重现这个,而不是使用互动?

#this works fine! But toolbar near the graph is terible
#%matplotlib notebook 

#this does not work
%matplotlib inline

from matplotlib.pyplot import *
button = ipywidgets.Button(description="Button")

def on_button_clicked(b):
    ax.plot([1,2],[2,1])

button.on_click(on_button_clicked)

display(button)

ax = gca()
ax.plot([1,2],[1,2])
show()

1 个答案:

答案 0 :(得分:4)

作为解决方法,我们可以将整个绘图重新绘制为Output小部件,然后显示它而不会闪烁。

%matplotlib inline

from matplotlib.pyplot import *

button = ipywidgets.Button(description="Button")
out = ipywidgets.Output()

def on_button_clicked(b):
    with out:
        clear_output(True)
        plot([1,2],[2,1])
        show()

button.on_click(on_button_clicked)

display(button)

with out:
    plot([1,2],[1,2])
    show()

out