Название вопроса говорит само за себя. Взгляните на рисунок, созданный этим кодом. Да ??Почему у этого шаблона Matplotlib есть дополнительная пустая колонна?
data = np.random.randn(20*15)
matrix = data.reshape((20,15))
xlabels = range(15)
ylabels = range(20)
fig, ax = plt.subplots(figsize=(13,10))
heatmap = ax.pcolor(matrix, cmap=mpl.cm.PiYG, vmax=max(data), vmin=min(data))
plt.xticks(xlabels)
plt.yticks(ylabels)
plt.colorbar(heatmap)
Я подозреваю, что это имеет какое-то отношение к ошибкам преобразования int/float во внутренних элементах. То есть, 'matplotlib' считает, что ограничения' x' (0, 15.0 ... 01) вместо (0, 15). Если вы установите его явно ('ax.set_xlim (0, 15)'), или если вы измените '15' на' 20' в размерах вашего массива, то нет белого столбца. Возможно, стоит записать ошибку «matplotlib». – fjarri
@fjarri Хороший призыв к ax.set_xlim (0,15) работает как шарм. –
Работает для меня тоже. Хорошо поймал! Отправьте свой комментарий в качестве ответа, и я сообщу об этом как об ошибке. – Wapiti