Python Matplotlib: заставляет фигуры иметь одинаковый размер - PullRequest
0 голосов
/ 04 марта 2020

Я хотел бы создать несколько участков с одинаковым размером. Я могу добиться этого, но размеры фигур по-прежнему немного различаются, хотя я не изменяю аргументы figsize и dpi. Это зависит от того, куда я положил свою ось (и, вероятно, от многих других вещей).

import matplotlib.pyplot as plt

x=[1,2,3]
y=[-2,5,6]

#first plot:
fig, ax = plt.subplots(figsize=(5,5))
ax.plot(x,y)
plt.savefig('plot1.pdf', dpi=300,bbox_inches='tight')
plt.close()

#second plot:
fig, ax = plt.subplots(figsize=(5,5))
ax.plot(x,y)
ax.spines['bottom'].set_position('zero') # change axis
plt.savefig('plot2.pdf', dpi=300,bbox_inches='tight')
plt.close()

Полученные цифры имеют разную высоту. Могу ли я заставить цифры иметь одинаковый размер? Я использую Python 3.6.10 и matplotlib версии 3.0.3

1 Ответ

0 голосов
/ 04 марта 2020

Оказывается, аргумент bbox_inches='tight немного изменяет размер файла. Поэтому его отключение приводит к постоянным размерам фигур. Это обрезает мои метки оси сбоку, поэтому я добавил plt.rcParams.update({'figure.autolayout': True}).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...