我希望能够点击IPython GUI中生成的两个按钮,然后在同一个图表上生成总共6个点。但是,现在单击这两个按钮不会创建6个点,只会创建由第一个按钮单击的图形。我做错了什么?
glm::mat4
答案 0 :(得分:1)
我玩了你的代码并通过添加%matplotlib笔记本并删除对plt.show()的调用来实现它。
%matplotlib notebook
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from ipywidgets.widgets import Button
from IPython.display import display
class Test(object):
def __init__(self):
plt.ion()
self.figure = plt.figure()
self.ax = self.figure.gca()
self.button = Button(description = "Draw new points.")
display(self.button)
self.button.on_click(self.button_clicked)
self.button2 = Button(description = "Draw more points.")
display(self.button2)
self.button2.on_click(self.button_clicked2)
def button_clicked(self, event):
self.ax.scatter([1,2,8], [6,5,4])
self.figure.canvas.draw()
def button_clicked2(self, event):
self.ax.scatter([1,0,5], [3,8,3])
self.figure.canvas.draw()
test = Test()
确保安装了最新版本的matplotlib。此功能取决于nbagg后端。有关详细信息,请参阅this question。