import random
import math
import matplotlib.pyplot as plt
def circle():
x = []
y = []
for i in range(0,1000):
angle = random.uniform(0,1)*(math.pi*2)
x.append(math.cos(angle));
y.append(math.sin(angle));
plt.scatter(x,y)
plt.show()
circle()
我已经编写了上面的代码,在单位圆圈上随机绘制了1000个点。但是,当我运行此代码时,由于某种原因它会绘制一个椭圆。这是为什么?
答案 0 :(得分:6)
这是一个圆圈 - 问题是你的轴的纵横比不是1,所以当你绘制它时它看起来像一个椭圆形。要获得宽高比1,您可以使用:
plt.axes().set_aspect('equal', 'datalim') # before `plt.show()`
这在demo中突出显示。