Переставьте массивы, чтобы мне не пришлось переворачивать их для imshow - PullRequest
0 голосов
/ 25 мая 2020

Я допустил ошибку при сохранении данных для моего проекта машинного обучения.

Это мой первый большой проект, поэтому я допустил несколько ошибок и теперь столкнулся со следующей проблемой:

Все мои данные (я сохранил каждый экземпляр обучающего ввода и вывода как .npys) переворачиваются, потому что, когда я создавал программу предварительной обработки, я думал о массивах в декартовых координатах (shape = (max_x, max_y)), а не о (строках, столбцы).

Это приводит к следующей проблеме:

Все мои входы и выходы должны быть транспонированы, и для imshow, и я должен указать источник на «ниже».

Подводя итог: мне нужен способ переупорядочить мои массивы следующим образом (как в pyplot.imshow ()):

plt.imshow(array.T, origin = "lower")

Итак, как мне переупорядочить все мои данные, чтобы я мог просто позвоните:

plt.imshow(array)

Заранее спасибо! :)

1 Ответ

1 голос
/ 25 мая 2020

Вы можете просто использовать np.rot90():

import numpy as np
import matplotlib.pyplot as plt


arr = np.arange(6).reshape(2, 3)

fig, axs = plt.subplots(1, 2)

axs[0].imshow(arr.T, origin='lower')
axs[1].imshow(np.rot90(arr))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...