Multiple 2D plots in Mathematica

Click For Summary
SUMMARY

The discussion centers on plotting multiple 1D datasets in a 3D space using Mathematica's ListPlot3D function. The user aims to visualize datasets data1, data2, and data3 on distinct horizontal planes (y=1, y=2, etc.) to observe data evolution. The user attempted to create 3D data points using the Table function but encountered issues with the plotting. Suggestions include using ListInterpolation for connecting data points and ensuring proper data formatting for ListPlot3D.

PREREQUISITES
  • Familiarity with Mathematica syntax and functions
  • Understanding of 3D plotting concepts
  • Knowledge of data structures in Mathematica (lists and tables)
  • Experience with interpolation techniques in data visualization
NEXT STEPS
  • Research how to format data for ListPlot3D in Mathematica
  • Learn about the Table function for creating structured datasets
  • Explore ListInterpolation for smooth data visualization
  • Investigate alternative 3D plotting functions in Mathematica
USEFUL FOR

Data scientists, mathematicians, and researchers who need to visualize multiple datasets in 3D using Mathematica.

flemmyd
Messages
141
Reaction score
1
I posted this first in the homework section, but no one answered it. I figured this might be a better section...


I have multiple 1D data sets, let's call them data1, data2, data3, etc. Each data set has the same number of entries. Each one is either a row or a column (I can just use Transpose[...], so same] and when I use the ListPlot[] function, I get a graph where the vertical axis is the value in the data set and the horizontal axis is the numerical position.

i.e. if data 1 = {5 26 17 9...}, the graph would have points at (1,5), (2,26), (3,17), ...

What I want to do is plot data1, data2, etc on a 3d plot to see how the data evolves. By introducing another horizontal axis, I could plot data 1 on the y=1 plane (with the x-axis being the order and the z axis being the intensity) and data2 on the y=2 plane, etc.

When I try ListPlot3D[{data1,data2,data3...}], I end up plotting all the data points on the same y axis. I want to data1 on the y=1 plane, data2 on the y=2 plane, etc.

I tried just rewriting the entire data set as such:
data1_3D= Table[{i,1,data1[]},{i,1,Length[data1]}] *I didn't actually put an underscore. just so you could see my numbering system here.
data2_3D= Table[{i,1,data2[]},{i,1,Length[data2]}]

and just plotting these, but this didnt work.

Additionally, I'd love to use the interpolation function to connect the dots along the y-axis and x axis. There is no ListLinePlot3D function that I know of. I think {Mesh -> All} might work, although I'm trying to get this data set plotted first.
 
Physics news on Phys.org
ListPlot3D[{{1, 2, 3}, {2, 4, 5}, {2, 5, 7}}]
looks like it plots the three data sets 1,2,3 2,4,5 and 2,5,7
in exactly the way I think you are describing..

If ListPlot3D doesn't work for you then post a simple concrete example of the actual input you used and what was wrong with the result.

ListInterpolation looks like it should do the interpolation on your data, but without actual concrete examples of a reasonably simple example it is impossible to show you that this works.
 

Similar threads

  • · Replies 9 ·
Replies
9
Views
22K
  • · Replies 2 ·
Replies
2
Views
11K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 18 ·
Replies
18
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K