如何用sin cos和pi绘制圆

时间:2019-04-30 12:27:55

标签: python matplotlib geometry

我的教授希望我使用matplotlib使用sin,cos和pi绘制一个圆。

我看了网上的几个主题和视频,但对如何解决问题一无所知

import numpy as np
import math
import matplotlib.pyplot as plt
r=5
t= np.arange(math.pi,-math.pi, 0.1)
x=r*math.sin(t);
y=r*math.cos(t);
plt.plot(x,y)

这是我尝试过的,但出现以下错误

  

TypeError:只有大小为1的数组可以转换为Python标量

1 个答案:

答案 0 :(得分:1)

有两个问题:

1)您需要使用NumPy的sincos,因为math版本不提供矢量化操作。您也可以从NumPy使用pi,从而删除import math

2)您需要使用np.arange(-np.pi,np.pi, 0.1),即从负数开始,以0.1的步长变为正数。否则,请在您的实际代码中使用-0.1


import numpy as np
import matplotlib.pyplot as plt
r=5
t= np.arange(-np.pi,np.pi, 0.1)
x=r*np.sin(t);
y=r*np.cos(t);
plt.plot(x,y)
plt.axis('equal')

enter image description here

如果您想要一个完整的圆圈,可以使用

t= np.linspace(-np.pi, np.pi, 100)

enter image description here