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: only size-1 arrays can be converted to Python scalars
请您参考如下方法:
使用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 一样,采用弧度而不是度,因此您可能需要相应地调整您的数组 (a),或使用 np.rad2deg 因为目前结果是:
而如果您要在 0 和 2 * math.pi 之间传递 float ,您会得到一个不错的正弦波:
