我有一个数组A,其中包含使用X和Y作为坐标轴绘制的值,使用
plt.contourf(X,Y,A)
我想知道当我将光标悬停在绘图中的某个(X,Y)点上时,我是如何获取A的值的,或者我可以在任何其他位置获取值的任何其他替代方法我正在观看情节。
非常感谢!
答案 0 :(得分:1)
您必须使用axis对象的format_coord
属性:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
A = np.arange(25).reshape(5,5)
X = np.arange(5)
Y = np.arange(5)
X,Y = np.meshgrid(X,Y)
plt.contourf(X,Y,A)
nrows, ncols = A.shape
def format_coord(x, y):
i = int(x)
j = int(y)
if j >= 0 and j < ncols and i >= 0 and i < nrows:
return "A[{0}, {1}] = {2}".format(i, j, A[i][j])
else: return "[{0} {1}]".format(i, j)
ax.format_coord = format_coord
plt.show()
示例: