enter code here
import numpy as np
import math
import matplotlib.pylab as plt
a=np.linspace(3,6,10)
plt.plot(a,math.sin(a))
plt.show()
输出显示**** TypeError:只能将size-1数组转换为Python标量
答案 0 :(得分:7)
使用np.sin
或np.vectorize(math.sin)
。
import numpy as np
import math
import matplotlib.pylab as plt
a = np.linspace(3,6,10)
plt.plot(a, np.sin(a))
plt.show()
请注意,np.sin
与math.sin
一样,需要弧度而不是 degrees ,因此您可能需要调整数组({{1 }}),或使用a
,因为目前的结果是:
如果您要在np.rad2deg
和0
之间传递浮点数,则会得到一个不错的正弦波: