У меня есть код в Matlab, который считывает данные из txt файла и после некоторых манипуляций с этими данными генерирует массив 20x20, который используется для построения изображения следующим образом:
Мне нужно было переписать этот код на Python по соображениям оптимизации и необходимости проекта. Пока фаза генерации матрицы не будет корректной, но я не могу сгенерировать одни и те же изображения, потому что они имеют разные масштабы и цвета следующим образом:
Ниже приведен фрагмент кода в Matlab, который отображает изображение:
figure
image(H1,'CDataMapping','scaled')
colormap;
saveas(gcf,'d1.jpg');
И вот фрагмент кода в Python:
import matplotlib.pylab as plt
fig, ax = plt.subplots()
ax.imshow(H1)
plt.gcf().savefig('d1.jpg')
plt.show()
plt.close()
Мне просто нужно построить изображение с тем же разрешением (875 x 656) и изменить цвет, чтобы быть более похожим.
Прямо сейчас, я благодарю тех, кто помогает! : D
Разрешение управляется двумя параметрами figsize
которые принимают кортеж, который представляет размер фигуры в дюймах и dpi
контролирует точки на дюйм фигуры. Эти два вопроса войдут в ваш аргумент subplots
:
ax, fig = plt.subplots(figsize=(x, y), dpi=z)
где x
и y
будут желаемой шириной и высотой фигуры, а z
будет желаемым dpi.
Что касается цветов, вам нужно выбрать другую цветовую палитру. Сначала выберите цветовую палитру вы хотите (Matplotlib доступные цветовые карты можно найти здесь). Затем передать его в cmap
аргумент imshow
, как это:
ax.imshow(H1, cmap=c)
где c
- строка, содержащая имя цветовой карты.