我无法从2D列表中绘制多条线。 我目前有以下数据集。
x = np.linspace(0, 4, 5)
y = [[0.32,1.25,2.36,3.36,3.52],[0.32,1.25,2.36,3.36,3.52]]
并绘制我实现的图
for i in range(len(y)):
for x in range(len(y[i])):
plt.plot(x[x], y[I][x])
plt.show()
我如何拥有它,以便在一张图中有多条线,从而从2d数组中绘制出来?
答案 0 :(得分:1)
为避免循环,您可以将y
转换为numpy数组transpose it with y.T
,使其与x
数组对齐,然后简单地绘制两个数组:
x = np.linspace(0, 4, 5)
y = np.asarray([[0.32,1.25,2.36,3.36,3.52],[0.2,1.5,2.6,2.3,1.5]])
print(y)
plt.plot(x, y.T)
plt.show()
答案 1 :(得分:0)
删除for循环:
plt.plot(x,y[0],x,y[1])
plt.show()
这应该给您想要的结果。但是,您的图是相同的,因此总是看起来像一张图。如果您获得其他数据,它将起作用。