Matplotlib:imshow提供超出范围的值(错误?)

时间:2019-03-28 16:41:11

标签: matplotlib coordinates python-3.7 imshow extent

使用此代码,您可以生成这样的图像:

import matplotlib.pyplot as plt
import numpy as np

axes = plt.subplot()
axes.set_aspect(1)
axes.format_coord = "x={:1.2f}, y={:1.2f}".format

pltRange = range(-1, 12)
axes.set_xlim(min(pltRange), max(pltRange))
axes.set_ylim(min(pltRange), max(pltRange))
axes.set_xticks(pltRange)
axes.set_yticks(pltRange)
plt.grid(True)

array = np.random.random((10, 10))
image = axes.imshow(array, extent=[0, 10, 0, 10], origin='lower')
image.format_cursor_data = " |  Value: {:8f}".format

plt.show()

enter image description here

在右下角,您可以看到鼠标光标的坐标以及要移动的数组的值。 这在彩色瓷砖上效果很好。但是我也希望当我将鼠标移到白板上时不会有任何价值。

这确实发生在顶部和右侧。但不在底部和左侧。 如果将鼠标移到该位置,假设(-0.5, 2.5),您仍然会得到一个值。这对我来说毫无意义。

我做错了什么还是一个错误?我正在使用Matplotlib 3.0.3。和Numpy 1.16.2。

谢谢:)

0 个答案:

没有答案