以椭圆形式出现的圆圈 - 在Python中设置纵横比

时间:2015-11-24 16:13:38

标签: python matplotlib plot aspect-ratio

我有一个绘制系列圆圈的图表,但是,由于它们不是圆形的轴,而是椭圆形,如下图所示。我知道这是一个反复出现的问题,有很多这样的问题...但是我找不到任何可以帮助我的东西!我试过放入fig = plt.figure(0, figsize=(14.5, 1.75))稍微有点帮助,但也许ax.set_aspect()但是,使用标量也没有多大帮助!

enter image description here

对于此图,标有***的行不在那里

我的代码如下:

fig = plt.figure(0)
ax = fig.add_subplot(111)
ax.set_aspect(???)#*** not sure if this should be here or not
plt.axis([-5, 20, -1, 1])

circle1 = plt.Circle((-1,0.25), radius=0.2, color='c')
circle2= plt.Circle((4,-0.5), radius=0.5, color='m')

plt.gcf().gca().add_artist(circle1)
plt.gcf().gca().add_artist(circle2)

1 个答案:

答案 0 :(得分:1)

您可以将方面设置为equal,但您还需要为两个轴选择相似的尺寸,如下所示:

from matplotlib import pyplot as plt

fig = plt.figure(0)
ax = fig.add_subplot(111)
ax.set_aspect('equal')
plt.axis([-5, 5, -5, 5])

circle1 = plt.Circle((-1, 0.25), radius=0.2, color='c')
circle2 = plt.Circle((4, -0.5), radius=0.5, color='m')

ax.add_artist(circle1)
ax.add_artist(circle2)

plt.show()

将显示如下: enter image description here