Я пытаюсь построить образ с imshow, но я получаю результаты, которые я не ожидал ... Метод, чтобы показать мое изображение является:Показать изображение с imshow - Matplotlib/Python
def generate_data_black_and_white_heat_map(data, x_axis_label, y_axis_label, plot_title, file_path):
plt.figure()
plt.title(plot_title)
plt.imshow(data.data, extent=[0, data.cols, data.rows, 0], cmap='Greys')
plt.xlabel(x_axis_label)
plt.ylabel(y_axis_label)
plt.savefig(file_path + '.png')
plt.close()
Мои данные представлены в виде:
def __init__(self, open_image=False):
"""
The Data constructor
"""
self.data = misc.lena()/255.0
x, y = self.data.shape
self.rows = x
self.cols = y
я сделать некоторые расчеты и в какой-то момент я должен сделать это:
# A -> 2D ndarray
A.data[A.data >= 0.5] = 1.0
A.data[A.data < 0.5] = 0.0
Что дает м е:
Но я хочу противоположный (белый фон). Таким образом, я просто сделал это:
# A -> 2D ndarray
A.data[A.data >= 0.5] = 0.0
A.data[A.data < 0.5] = 1.0
И потом, я получил это (!!!):
Я просто не получить его. Это имеет смысл для меня. И странно, потому что, если я это сделаю:
for x in range(A.cols):
for y in range(A.rows):
if A.data[x][y] >= 0.5:
A.data[x][y] = 0.0
else:
A.data[x][y] = 1.0
Это работает. Я обращаюсь к чему-то не так?
Любая помощь, чтобы прояснить это в моем сознании, будет очень признательна.
Заранее спасибо.
Проклятье! Конечно! Спасибо! : D 5 часов программирования делают это с людьми .. Rs. – pceccon