在matplotlib图中查找点的位置

大家好,
我正在绘制x与y的点图,如下例所示:

选择 | 换行 | 行号
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. a = np.random.random(750)
  5. b = np.random.random(750)
  6.  
  7. fig = plt.figure()
  8. ax = fig.add_subplot(111)
  9. ax.plot(a, b, 'ro')
  10. plt.show()
  11.  

我有750分-希望能够通过鼠标悬停获得关于点的原点的信息。我知道我可以画出标签--但有这么多点,事情就会变得一团糟。我尝试使用mpldatacursor作为解决方案-如果您想要获得点的x,y坐标,这个方法效果很好,但它没有给我一个可以用来轻松定位绘制的值(例如,Numy数组中的位置)的值。是否可以获得数组中的位置(不是通过绘制标签?)通过鼠标悬停?

# 回答1


您必须知道点的绘制位置,就像是每个点的x,y位置的字典,然后可以与鼠标的位置进行比较。如果这些点不是不连续的,即按从最小到最大的顺序排列,则可能有一种方法来计算鼠标距零点的距离,并在该位置绘制哪个点。

标签: python

添加新评论