绘制返回浮点数数组的自定义函数

时间:2018-07-26 16:48:28

标签: python python-3.x matplotlib

我在python3中具有以下自定义函数:

myFunction(A, x)
"""
Args:
A (list)
x (float)
Returns:
Y: numpy array of floats [y1,y2,...,y(len(A))]
"""
return Y

我要做的是绘制一些选定的常数列表A的图,其中X轴是输入参数x(介于某些值之间,例如0,10),Y轴上的是浮点数。输出数组(所以多条曲线,用不同的颜色) 我当时想做这样的事情 导入matplotlib.pyplot作为plt

A = [5,10,15,20]
x = numpy.linspace(0,10,1000) #1000 numbers between 0 and 10
plt.plot(x,myFunction(A, x))

但是我遇到了错误

TypeError: only size-1 arrays can be converted to Python scalars

谢谢

1 个答案:

答案 0 :(得分:0)

看来我终于找到了方法

x = np.linspace(0,100,1001) 
resultSet = [] #initialize list to store results


for i in range(0, len(x)): 
    resultSet.append(list(myFunction(A, x)))

resCount = len(resultSet[0]) 
labelList = [] #initialize list for legend names
for i in range(0,resCount):
    labelList.append("Line "+str(i+1))

lineObjects = plt.plot(list(x),resultSet)
plt.xlabel("x label")
plt.ylabel("y label")

plt.legend(lineObjects,labelList)
plt.show()