Matplotlib: imshow дает значения вне экстента (ошибка?) - PullRequest
0 голосов
/ 28 марта 2019

С помощью этого кода вы можете создать такое изображение:

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.

Спасибо:)

...