Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:通过鼠标交互获取数据点的对应信息_Python - Fatal编程技术网

Python:通过鼠标交互获取数据点的对应信息

Python:通过鼠标交互获取数据点的对应信息,python,Python,我在我的研究项目中有一组数据,每个数据点都包含大量相关信息,不可能在一个图形中显示所有数据。我想用这些数据的两个关键参数绘制数据点,当鼠标光标悬停在一个数据点上时,它显示与此数据点相关的所有信息。我想知道是否有任何方法来实现这一点 谢谢 您有一个matplotlib示例,它提供了类似于您所要求的内容@root在此处提供了一个基本界面,为控制台提供了输出(通过鼠标单击点): 但我还是建议@Moooeeep举例说明了它的用途: 因此: from matplotlib.pyplot import f

我在我的研究项目中有一组数据,每个数据点都包含大量相关信息,不可能在一个图形中显示所有数据。我想用这些数据的两个关键参数绘制数据点,当鼠标光标悬停在一个数据点上时,它显示与此数据点相关的所有信息。我想知道是否有任何方法来实现这一点


谢谢

您有一个matplotlib示例,它提供了类似于您所要求的内容@root在此处提供了一个基本界面,为控制台提供了输出(通过鼠标单击点):

但我还是建议@Moooeeep举例说明了它的用途:

因此:

from matplotlib.pyplot import figure, show
import numpy as npy
from numpy.random import rand

if 1: # picking on a scatter plot (matplotlib.collections.RegularPolyCollection)

    x, y, c, s = rand(4, 100)
    def onpick3(event):
        ind = event.ind
        print 'onpick3 scatter:', ind, npy.take(x, ind), npy.take(y, ind)

    fig = figure()
    ax1 = fig.add_subplot(111)
    col = ax1.scatter(x, y, 100*s, c, picker=True)
    #fig.savefig('pscoll.eps')
    fig.canvas.mpl_connect('pick_event', onpick3)

show()
import matplotlib.pyplot as plt
from mpldatacursor import datacursor
import random

fig, ax = plt.subplots()
ax.set_title('Click on a dot to display its label')

# Plot a number of random dots
for i in range(1, 1000):
    ax.scatter([random.random()], [random.random()], label='$ID: {}$'.format(i))

# Use a DataCursor to interactively display the label for a selected line...
datacursor(formatter='{label}'.format)

plt.show()