Python: 设置图形的纵横比为1

Python: set aspect ratio of figure to 1

如何让图形具有 1:1 纵横比?我目前有下图

import matplotlib.pyplot as plt

circle1 = plt.Circle((0.5, 0.5), 0.2, color='r')
fig, ax = plt.subplots()
ax.add_artist(circle1)

但是x轴比y轴大。我尝试使用我找到的命令 here :

import matplotlib.pyplot as plt

circle1 = plt.Circle((0.5, 0.5), 0.2, color='r')
fig, ax = plt.subplots()
ax.add_artist(circle1)

plt.axes().set_aspect('equal', 'datalim')

然后我画的圆就消失了。

如何设置相等的纵横比?

将 aspect kw 添加到你的 fig, ax 语句中:

fig, ax = plt.subplots(subplot_kw={'aspect': 1})

如果您想随时更改 ax 的纵横比,而不是在创建时更改,您可以调用:

ax.set_aspect("equal")

如文档所述here