ListPlot and Show n plots from two lists with large n

For the context, I have been dealing with Random Matrices and Dyson Brownian motion.

I have two lists, the first one contains the number of steps, so

steps={0,1,2...,s} ;


the second one contains a list of the eigenvalues of the matrix, calculated at each step, so it looks like this

eigenvalues={{x1_0,x2_0,...,xn_0},{x1_1,x2_1,...,xn_1},...,{x1_s,x2_s,...,xn_s}},


in which {x1_0, x2_0,...,xn_0} are n initial eigenvalues at steps=0 and so on.

Now if I only need to ListPlot x1 as a function of s, it is easy

grid1 = Transpose@{steps, eigenvalues[[All, 1]]};

p1 = ListLinePlot[grid1[[All, {1, 2}]]] ,


but what if I want to plot and show together n plots like that with n, let's say, equals to 100?

I'm new to Mathematica but I know how to use Map or MapThread in basic ways.

• The last row of your Eigenvalues should be {x1_s, x2_s, ..., xn_s}, right? Just trying to understand your issue...
– Kay
Commented Apr 4, 2016 at 18:40
• have a look at Multicolumn (I assume you want 100 separate plots not one plot with 100 lines ) Commented Apr 4, 2016 at 18:53
• @george2079. Not necessarily. Plots of adiabatic potential curves with lots of eigenvalues shown are pretty popular in the AMO (atomic, molecular, and optical) physics community. Commented Apr 4, 2016 at 19:10
• Thread[{steps, #}] & /@ Transpose@eigenvalues Commented Apr 4, 2016 at 19:37
• @Kay Right! Thanks for correcting me! Commented Apr 4, 2016 at 23:00

No idea, if this is what you are looking for, but I will give it a try:

As I do not know your values, I assigned some ugly values to step and eigenvalues on my own. The outcome is a sequence of integers:

steps = Range[1, 10];
s = Max[steps];
n = 20;
eigenvalues = Table[Range[n], {s}];


Than the rearranging brings:

someTable = Table[Transpose[{steps, eigenvalues[[All, m]]}], {m, 1, n}];
ListLinePlot[someTable]


The result, a lot of lines...