当鼠标悬停使用imshow显示的图像时,您可以将鼠标悬停在图像上以检查其RGB值。 matplotlib窗口的右下角(与工具栏共享空间)显示指向的像素的图像坐标和RGB值:
x = 274.99 y = 235.584 [.241, .213, .203]
然而,当我鼠标悬停在箭头图上时,它只显示指针的x和y坐标,但不显示指向的2D矢量的值。有没有办法让矢量值显示出来?
如果我只知道如何在matplotlib窗口中设置该位文本,我会很好地编写自定义鼠标事件处理程序。
答案 0 :(得分:5)
有时默认情况下不存在有关颜色值的信息。事实上,我认为当前版本是基于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