У меня есть проблема, при которой, когда я пытаюсь сохранить свою фигуру, которая выглядит так же, как я хочу использовать 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')
Сначала я задаю вопрос, если я делаю что-то не так, прежде чем отправлять отчет об ошибке.