Я пытаюсь нарисовать круг с matplotlib с диаметром, скажем, 2 дюйма и границей 10 пикселей, и я хочу сохранить его в файле. Это мой код:Круг с matplotlib с рамкой из рисунка
import matplotlib.pyplot as plt
from matplotlib import patches
path = 'test.png'
fig1 = plt.figure()
fig1.dpi = 100
fig1.set_size_inches(2, 2)
ax1 = fig1.add_subplot(111, aspect='equal')
ax1.axes.get_xaxis().set_visible(False)
ax1.axes.get_yaxis().set_visible(False)
ax1.add_patch(patches.Circle((0.5, 0.5),
radius=0.5,
color='k', linewidth=10, fill=False))
fig1.tight_layout()
fig1.savefig(path, bbox_inches='tight', pad_inches=0)
и это то, что я получаю:
Как вы можете видеть, часть границы из картины.
В самом деле, даже делать что-то гораздо проще, я получаю аналогичные результаты:
import matplotlib.pyplot as plt
from matplotlib import patches
fig1 = plt.figure()
ax1 = fig1.add_subplot(111, aspect='equal')
ax1.add_patch(patches.Circle((0.5, 0.5),
radius=0.5,
color='k', linewidth=10, fill=False))
plt.show()
так, я не могу понять, где проблема.
Что я делаю неправильно?
Я не знаю, почему это не работает для меня! Я скопировал и вставил ваш код и все еще получаю границу изображения. Я использую python 3.5 и matplotlib 1.5.3. – gpSO
@gpSO Он работает с matplotlib 2.0.0. Если вы не можете выполнить обновление, вам придется вручную настроить пределы осей, как описано в другом ответе. – Goyo