Я пытаюсь создать «тепловую карту» с Matplotlib из 2d Numpy Array и нашел опцию NonUniformImage здесь . Ниже приведена простая одиночная версия. К сожалению, я не могу изменить х без изменения у. Ошибка Pyhton Propmpts: Axes don't match array shape
Воспроизводимый пример
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.image import NonUniformImage
from matplotlib import cm
x = np.arange(6)
y = np.arange(6)
z = x[:, np.newaxis].dot(y[:, np.newaxis].transpose())
fig, ax = plt.subplots()
im = NonUniformImage(ax, interpolation='nearest', extent=(0, len(x)-1, 0, len(y)-1))
im.set_data(x, y, z)
ax.images.append(im)
ax.set_xlim(0, len(x)-1)
ax.set_ylim(0, len(y)-1)
Моя цель - построить карту на основе массива Numpy 2d с «пользовательскими ячейками сетки». Это означает, что я могу назначить x и y с неправильными рядами (например, np.array([0.5,3,8,15,15.4])
. Я знаю, что x и y, которые назначаются, представляют центр ячейки, поэтому последнее, что я хотел бы решить, это то, что график полностью виден ( если это возможно).
Как сделать изображение, которое имеет другое ограничение (не квадратное) с настраиваемой шириной и высотой в зависимости от двух списков?