matplotlib图画布名称

时间:2013-05-02 14:58:12

标签: python matplotlib pyqt4

我有一个使用PyQt4构建的GUI,我使用matplotlib(FigureCanvas)使用多个画布绘制几个图(这是故意的而不是使用子图)。对于每个画布我使用方法:

self.canvas_xx.mpl_connect('scroll_event', self.on_mouse_scroll)

其中xx表示画布的迭代,以获取执行某些操作的信号。我希望能够通过名称引用画布而不是使用:

ylabel = event.inaxes.axes.get_ylabel().split(' ')[0]

我使用更长的方法来引用每个图的ylabel名称。

我使用:dir(event)查看了event方法,并且有一个名为“canvas”的方法,但没有明显的方法来获取画布的名称。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我不太清楚你的名字是什么意思,但你可以通过

获得canvas对象的引用
event_canvas = event.inaxes.axes.figure.canvas

并且canvas事件是可清除的,因此您可以将它们用作dict

中的键
other_thing = pre_populated_dict[event_canvas]

跟踪代码中给定画布的其他数据。

在python中,通常不是一种简洁的方法来获取对象的引用名称(可以这样做,但你不应该这样做。)