gpt4 book ai didi

python - 用 matplotlib 画圆圈,边框不在图中

转载 作者:太空宇宙 更新时间:2023-11-03 15:58:37 25 4
gpt4 key购买 nike

我正在尝试使用 matplotlib 绘制一个圆,直径为 2 英寸,边框为 10 像素,我想将其保存在文件中。这是我的代码:

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)

这就是我得到的:

Circle

如您所见,部分边框在图片之外。

事实上,即使做一些更简单的事情,我也会得到类似的结果:

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()

所以,我不明白问题出在哪里。

我做错了什么?

最佳答案

添加补丁不会自动调整轴限制。您必须调用 ax1.autoscale_view() 来调整内容限制。

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))
ax1.autoscale_view()

Circle

关于python - 用 matplotlib 画圆圈,边框不在图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41772804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com