2016-10-16 134 views
3

我想绘制(x,y),其中为y = [[1,2,3],[4,5,6],[7,8,9]]用Python在同一个图表中绘制列表的列表

说,len(x) = len(y[1]) = len(y[2]) .. y的长度由用户输入决定。我想在同一个图中绘制多个y图,即(x, y[1],y[2],y[3],...)。当我尝试使用循环时,它说dimension error

我也试过:plt.plot(x,y[i] for i in range(1,len(y)))

如何绘制?请帮忙。

for i in range(1,len(y)): 
plt.plot(x,y[i],label = 'id %s'%i) 
plt.legend() 
plt.show() 
+1

您在绘图命令的缩进错误。您也正在从1. {range(1,...)开始索引,而不是range(0,...))。我假设这是故意的。该代码应该仍然有效。请让我们知道您正面临的错误 –

+0

x值是什么?任何样品? –

+0

X = [1,2,3]。 @Nikhil我在绘制时遇到尺寸误差 – sivasudhan

回答

3

假设x的一些示例值,下面是可以给出所需输出的代码。

import matplotlib.pyplot as plt 
x = [1,2,3] 
y = [[1,2,3],[4,5,6],[7,8,9]] 
plt.xlabel("X-axis") 
plt.ylabel("Y-axis") 
plt.title("A test graph") 
for i in range(len(y)): 
    plt.plot(x,[pt[i] for pt in y],label = 'id %s'%i) 
plt.legend() 
plt.show() 

假设:xy任何元件是相同的长度。 的想法是通过元素读取元件,以构建列表(x,y[0]'s)(x,y[1]'s)(x,y[n]'s

下面是情节我得到这个情况: Sample plot

相关问题