Вот код, который я использую для создания тепловой карты:
импортировать numpy как np импортировать matplotlib.pyplot как plt x_values = [x для x в диапазоне (5)] y_values = [y для y в диапазоне (7)] z_values = np.random.rand(len(y_values), len(x_values)) plt.imshow(z_values, cmap='viridis', экстент=[min(x_values), max(x_values), min(y_values), max(y_values)], origin='нижний', аспект='авто') plt.gca().invert_yaxis() # Добавляем метки для каждой точки оси Y и каждой второй точки оси X plt.yticks(np.arange(len(y_values)), y_values) plt.xticks(np.arange(0, len(x_values), 2), x_values[::2]) plt.show() Это пример результата:

Очевидно, что метки по осям X и Y не совпадают с центрами ячеек. Как это исправить?