我有一个看似简单的任务,但我不知道如何以及从哪里开始。我目前拥有的是在一个图中显示的一系列子图。现在我想在每个子图上添加/连接一个事件处理程序,这样当用户单击其中一个子图时,所选的图将在单独的图形/窗口中打开。
我想知道这是否可能,以及是否有人可以制定一个简单的小代码来说明如何做到这一点。我还应该提到,我正在使用和感兴趣的唯一绘图类型是颜色图(使用imshow()
)。
问问题
5467 次
1 回答
8
您应该阅读本教程。
基本上你需要定义一个接受一个论点的函数,event
然后将它附加到你的图形画布上:
def open_new_figure(event):
if event.inaxes is not None:
ax = event.inaxes
# you now have the axes object for that the user clicked on
# you can use ax.children() to figure out which img artist is in this
# axes and extract the data from it
cid = fig.canvas.mpl_connect('button_press_event', open_new_figure)
于 2013-01-10T04:41:51.980 回答