Plotting a custom function that returns an array of floats
我在python3中的自定义功能如下:
1 2 3 4 5 6 7 8 9 | 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
1 2 3 | A = [5,10,15,20] x = numpy.linspace(0,10,1000) #1000 numbers between 0 and 10 plt.plot(x,myFunction(A, x)) |
号
但我得到了错误
1 | TypeError: only size-1 arrays can be converted to Python scalars |
谢谢
看来我最终找到了方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 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() |