Matplotlib:使轴符合形状限制

2024-04-25 09:45:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用以下代码在matplotlib中绘制一个矩形:

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig, ax = plt.subplots()
width = 20
height = 10

rect = patches.Rectangle((0,0),width, height, linewidth=4,edgecolor='r',facecolor='none')
ax.add_patch(rect)

plt.show()

结果是:

enter image description here

在这种情况下,轴不符合矩形限制。我可以用以下方法来解决:

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig, ax = plt.subplots()
width = 20
height = 10

ax.set_xlim(0,width)
ax.set_ylim(0,height)

rect = patches.Rectangle((0,0),width, height, linewidth=4,edgecolor='r',facecolor='none')
ax.add_patch(rect)

plt.show()

下面的图片解决了这个问题:

enter image description here

然而,当我试图在同一个图形中绘制许多矩形和其他形状时,我需要一种matplotlib能够巧妙地确定正确的轴限制的方法,就像它在绘制法线图时所做的那样。你知道吗


Tags: rectimportmatplotlibasfig绘制pltax
1条回答
网友
1楼 · 发布于 2024-04-25 09:45:39

你在找.autoscale()。您可以使用.margins(0)删除默认情况下添加的任何额外空间。你知道吗

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig, ax = plt.subplots()
width = 20
height = 10

rect = patches.Rectangle((0,0),width, height, linewidth=4,edgecolor='r',facecolor='none')
ax.add_patch(rect)
ax.margins(0)
ax.autoscale()

plt.show()

enter image description here

相关问题 更多 >