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

问题描述 投票:2回答:1

我正在使用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()
python matplotlib jupyter ipywidgets
1个回答
4
投票

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

%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
© www.soinside.com 2019 - 2024. All rights reserved.