Mathematica Plotting Nested Lists in Mathematica

Click For Summary
The discussion revolves around plotting nested lists in a programming context, specifically using two datasets, A and B, each with dimensions of 5x50. The initial attempt involved creating separate plots for each dataset, resulting in five individual plots. The solution provided suggests transposing the data to combine the two datasets into a single plot for each of the five groups. The recommended approach utilizes ListPlot with the transposed data, allowing for the visualization of both datasets in one plot with two lines for each group. Additionally, an alternative method using Table and Part is mentioned, which also successfully generates the desired plots. The final outcome meets the user's requirement for displaying both datasets together in a clear and effective manner.
ChristinaJ
Gold Member
Messages
34
Reaction score
1
All,

I am having trouble plotting nested lists.

I have two data sets (A and B), both with dimensions 5x50.

So far I have

plot = Map[
ListPlot[#, PlotRange -> {0, Max[A]},
AxesOrigin -> {0, 0}, Frame -> True,
FrameLabel -> {"position", "Intensity"}] &, A];

which gives me 5 plots of 50 points each. What I need is to also plot data B together with data A, ending with 5 plots each having two lines of 50 points.

Each plot is ListPlot[An,Bn] where n=1..5 but I just can't figure it out.

Many thanks for any help and apologies for trespassing upon your time.

Christina
 
Physics news on Phys.org
I think that you just need to transpose your data:

Code:
A = Accumulate /@ RandomReal[{0, 2}, {5, 50}];
B = Accumulate /@ RandomReal[{0, 1}, {5, 50}];

ListPlot[#, PlotRange -> {0, Max[A]}, AxesOrigin -> {0, 0}, 
   Frame -> True, Joined -> True, 
   FrameLabel -> {"position", "Intensity"}] & /@ Transpose[{A, B}]

attachment.php?attachmentid=34374&stc=1&d=1302822454.png


You can also get the same results using Table and Part ( [[ ]] )

Code:
Table[ListPlot[{A[[i]], B[[i]]}, PlotRange -> {0, Max[A]}, 
  AxesOrigin -> {0, 0}, Frame -> True, Joined -> True, 
  FrameLabel -> {"position", "Intensity"}], {i, 1, 5}]
 

Attachments

  • Untitled-2.png
    Untitled-2.png
    8.7 KB · Views: 918
It worked perfectly, just what I was looking for.

Many thanks for your help.

Christina
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 18 ·
Replies
18
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
6K
  • · Replies 5 ·
Replies
5
Views
1K
  • · Replies 3 ·
Replies
3
Views
2K