Matplotlib savefig с осью равных изменений границ - PullRequest
0 голосов
/ 13 марта 2020

У меня есть проблема, при которой, когда я пытаюсь сохранить свою фигуру, которая выглядит так же, как я хочу использовать show(), ограничения расширяются, особенно y-limit.

Я сделал маленький пример и сузил вопрос до axis('equal').

import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 1, figsize=(8.27, 14.69), dpi=100)

plt.plot(range(10))
fig.savefig('test1.png')
fig.savefig('test2.png', dpi=fig.dpi)
fig.savefig('test3.png', dpi=fig.dpi, bbox_inches='tight')

против

import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 1, figsize=(8.27, 14.69), dpi=100)

plt.plot(range(10))
axes.axis('equal')
fig.savefig('test1.png')
fig.savefig('test2.png', dpi=fig.dpi)
fig.savefig('test3.png', dpi=fig.dpi, bbox_inches='tight')

Последний из них значительно расширяет границы. Конечно, пределы будут меняться из-за того, что ось должна быть одинаковой, но если вы добавите show() между ними, мы увидим «правильный» размер фигуры, и он даже будет сохранен при этом размере.

import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 1, figsize=(8.27, 14.69), dpi=100)

plt.plot(range(10))
axes.axis('equal')
plt.show()
fig.savefig('test1.png')
fig.savefig('test2.png', dpi=fig.dpi)
fig.savefig('test3.png', dpi=fig.dpi, bbox_inches='tight')

Сначала я задаю вопрос, если я делаю что-то не так, прежде чем отправлять отчет об ошибке.

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