4

我有一个看似简单的任务,但我不知道如何以及从哪里开始。我目前拥有的是在一个图中显示的一系列子图。现在我想在每个子图上添加/连接一个事件处理程序,这样当用户单击其中一个子图时,所选的图将在单独的图形/窗口中打开。
我想知道这是否可能,以及是否有人可以制定一个简单的小代码来说明如何做到这一点。我还应该提到,我正在使用和感兴趣的唯一绘图类型是颜色图(使用imshow())。

4

1 回答 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 回答