1

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

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

想法,萨尔。

4

1 回答 1

2

您可以选择一个绘图点,将信息以数据坐标的形式传回。查看 matplotlib 的事件处理和选择指南以获取有关如何实现此目的的详细信息。

获得数据坐标后,您可以使用 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 涉及更多的工作,但后者似乎没有提供几乎一样多的灵活性。

于 2013-05-05T05:39:41.430 回答