将鼠标悬停在用imshow显示的图像上时,可以将鼠标悬停在图像上以检查其RGB值。matplotlib窗口的右下角(带有工具栏的共享空间)显示了所指向像素的图像坐标和RGB值:
x = 274.99 y = 235.584 [.241, .213, .203]
Run Code Online (Sandbox Code Playgroud)
但是,当我将鼠标悬停在一个颤动图上时,它仅显示指针的x和y坐标,而没有显示所指向的2D向量的值。有没有办法让矢量值显示出来?
如果我只知道如何在matplotlib窗口中设置该文本位,则可以编写一个自定义鼠标事件处理程序。
有时,默认情况下不存在有关颜色值的信息。实际上,我认为当前版本基于Stackoverflow上有关该功能的一些问题的一些代码。
我很快发现了两个问题:
想法是更改鼠标悬停轴时调用的功能。此功能存储在中ax.format_coord。因此,一种可能的解决方案是编写您的自定义函数,以根据输入坐标返回所需的输出,例如
def format_coord(x, y):
try:
z = # get value depending on x,y, e.g. via interpolation on grid
# I can't fill this because the kind of data is unknown here
return "x: {}, y: {}, z: {}".format(x,y,z)
except:
return "x: {}, y: {}".format(x,y)
ax.format_coord = format_coord
Run Code Online (Sandbox Code Playgroud)