在2D点图上使用鼠标查找numpy数组中的行/位置

时间:2013-05-04 07:13:03

标签: python matplotlib

我有一个2D点图,我用matplotlib生成了750点。我试图使用mpldatacursor,以便我可以将鼠标悬停在点上以确定数据点的标签(即numpy数组中的行/位置等)。

当我使用mpldatacursor它运作良好 - 但我只得到x&和合作。有关如何找到各个兴趣点的标签/来源的任何想法?我知道我可以绘制标签 - 但是有750个数据点,它非常混乱。

的想法, 萨尔。

1 个答案:

答案 0 :(得分:2)

您可以选择绘制的点,将信息传回数据坐标。检查matplotlib的event handling and picking指南,了解有关如何实现此目的的详细信息。

获得数据坐标后,您可以使用numpy找到相应的索引:

import numpy as np

# arr is the array you plot

[...code to plot/pick array...]

# datapt are the data coordinates you get back from the picking event

indices = np.argwhere(arr == datapt)

这种方法比mpldatacursor涉及更多的工作,但后者似乎没有提供几乎相同的灵活性。