2017-01-13 2 views
0

Im делает тепловую карту из кадра данных pandas с matplotlib. Все выглядит хорошо, только у меня слишком много обивка на верхней части и тепловой карты я не знаю, как изменить его: heatmap with too much padding on the topСлишком много дополнений с помощью MatPlotLib

Код настоящее время я использую:

plt.figure(num=1,figsize=(10,10)) 
plt.pcolor(table, cmap='Reds', vmin=0, vmax=5, edgecolors="black") 
plt.tight_layout() 
plt.yticks(np.arange(0.5, len(table.index), 1), table.index) 
plt.xticks(np.arange(0.5, len(table.columns), 1), table.columns, rotation=45) 
plt.savefig('test.png', bbox_inches='tight') 
plt.show() 

Это потому, что yticks - это строки, а matplotlib пытается создать пространство, если я хочу их повернуть?

Спасибо! Regars!

+0

Я не могу воспроизвести проблему ... Вы можете поставить [Minimal, полный и проверяемый пример] (http://stackoverflow.com/help/ mcve)? – Lucas

ответ

1

Matplotlib пытается найти хорошее круглое число для осевых границ (например, 45 вместо 41), чтобы сделать сюжет более приятным с автоматическими тиками. Переопределение тиков не меняет пределов. Вы можете вручную заставить их в соответствии с вашими данными точно:

plt.gca().set_ylim((0, len(table.index))) 
plt.gca().set_xlim((0, len(table.columns))) 
Смежные вопросы