【发布时间】:2015-12-01 22:13:00
【问题描述】:
所以我有三个 matplotlib 子图。我可以使用一个选择事件来拉出并重新绘制任何一个子图中的数据。是否可以读取pick事件并找出选择了哪个子图号?
【问题讨论】:
-
你能告诉我们你的代码吗?
-
不幸的是我不能这样做,因为它太大了。以下是一些相关的 sn-ps,我可以在问题本身中提出。
-
self.figure_canvas.mpl_connect('pick_event', self.select_axes) def select_axes(self, event): if event.mouseevent.button == 1: if isinstance(event.artist, matplotlib.axes .Axes): axes = event.artist for line in axes.get_lines(): plt.figure() plt.plot(line.get_xdata(), line.get_ydata()) plt.show() 我似乎无法格式化代码正确,基本上我可以拉出绘制的数据,但我不知道它来自哪个子图。
-
请编辑您的问题,而不是在 cmets 中转储代码。在这种状态下是不可读的。
-
你有
Axes对象,所以你可以用它做任何你想做的事。否则,您可以使用Axes作为字典中的键来映射回您想要的任何内容。
标签: python matplotlib interactive