Уменьшить пробелы в графике pcolor matplotlib

В настоящее время я работаю над построением сводных таблиц с использованием matplotlib pcolor, но мои оси не работают так, как хотелось бы. Я рисую таблицы, используя:

pyl.pcolor(pivot_99)
pyl.colorbar()
pyp.suptitle('Pivot 99', fontsize=14)
pyp.xlabel('Site Number', fontsize=12)
pyp.ylabel('Site Number', fontsize=12)
pyp.yticks(arange(len(pivot_99.index)),pivot_99.index)
pyp.xticks(arange(len(pivot_99.columns)),pivot_99.columns, rotation = 90)
pyl.savefig('Pivot 99.png')
pyl.show()

Где pivot_99 — это кадр данных, состоящий из чисел от 0 до 1. Длина индекса и столбцов всегда одинаковы, но имеют разные значения для разных лет. Когда я рисую pivot_99, все выглядит нормально: Pivot 1999

Однако, когда я рисую тепловую карту 2000 года, сверху и справа появляется дополнительное пространство.

Основной 2000

Кто-нибудь знает, почему это происходит или как я могу исправить график, чтобы отображалось только пространство с цветом? Спасибо


person user2587593    schedule 16.01.2014    source источник


Ответы (2)


Попробуйте с set_xlim и set_ylim как в этом примере:

import matplotlib.pyplot as pyp

pyp.gca().set_xlim((1,10))
pyp.gca().set_ylim((1,12))
pyp.plot([1,2],[1,2])
pyp.show()

Вы можете попробовать с xlim=ylim=558, я могу проверить, потому что у меня нет ваших данных :(

person Alvaro Fuentes    schedule 16.01.2014

Кроме того, вы можете использовать prettyplotlib, который автоматически установит для вас ваши xlim, ylim, удалит шипы и галочки, и дать вам разумную цветовую полосу.

import prettyplotlib as ppl
ppl.pcolormesh(pivot_99)

Полное раскрытие: я автор prettyplotlib :)

person Olga Botvinnik    schedule 16.01.2014