На сайте SciPy есть хорошая демонстрация по настройке размера изображения в рисунках matplotlib.
Эффект show()
на размер фигуры будет зависеть от того, какой бэкэнд matplotlib используется. Например, когда я использовал бэкэнд TkAgg (по умолчанию в моей системе), он добавил около 12 пикселей к ширине и высоте фигуры. Но когда я переключился на бэкэнд WXAgg, размер фигуры фактически уменьшился.
Кроме того, ручное изменение размера окна, отображаемого с помощью show()
, также изменит размер фигуры. Более того, если для отображения рисунка потребуется слишком большое окно для экрана, размер окна будет уменьшен, а размер рисунка уменьшен соответственно.
В любом случае, вам лучше всего будет сбросить размер фигуры перед рендерингом в pdf. I.e.:
fig.set_size_inches(8.27, 11.69)
fig.savefig('test.pdf')