Let's first understand what is x values and what are y values:
In this array:
a = [ [1, 2, 3], [10, 20, 30], [15, 30, 45] ]
if you want to assign x as a[0] i.e. [1,2,3], then after passing them to a function say f, we should get the corresponding y values;
which means
y1 = f(1)
y2 = f(2)
y3 = f(3)
so for 3 x-values we would need 3 y-values
But when you pass a[1:] as y-values, you only select [[10, 20, 30], [15, 30, 45]], i.e. only 2 values, [10, 20, 30] and [15, 30, 45], there is no value available for y3.
So what you can do is either add value of y3 in your list a or transpose the y values from a shape of (2,3) to (3,2)
plt.plot(a[0], list(zip(*a[1:])))
Y - values now look like:
>>> list(zip(*a[1:]))
[(10, 15), (20, 30), (30, 45)]
y1 = (10,15)
y2 = (20,30)
y3 = (30,45)
Output:
