I am looking to make a plot where:
- Plot is composed of a group of 2D plots, stacked in 3D.
- The height of the line is indicated by the color.
- The mean of the wave of each plot is indicated by a dashed line to
the axis.How is this type of graph called?
Simplest / fastest way of doing something similar (less complex than in the image, I don’t need 3 of those, and the black and white waveforms to the right etc.).
Answer
This type of graph is called a ‘Waterfall Plot’
It can be used to plot arbitrary data in three axes (as in your example), but it is most commonly used to plot the results of a time-frequency analysis.
You mention waves/waveforms so I’m guessing you are interested in time-frequency analysis. Here is an example process to produce a waterfall plot of an audio signal:
-
start with a signal (a collection of times and amplitudes)
-
divide the signal into n equal parts
-
for each part:
-
compute the Fourier Transform to extract frequency and power
-
plot frequency vs. power as a 2D plot
-
-
rotate, skew and translate the plots so that they form the 3D effect in your example image
Now that you know the phrase ‘waterfall plot’ you can probably find some implementation in whatever software you are using to process your data. Matlab has a waterfall function exactly for this purpose.
Your options in order of preference are:
-
Use a waterfull function provided in your software
-
Use a ‘make 2D plot in 3D space’ function provided in your software
-
Make a bunch of regular 2D plots and manually arrange them in some program like Inkscape or Illustrator
You will almost certainly need to do some post-processing in Inkscape or Illustrator to get something as attractive as your example.
Here is an example of a waterfall plot that I generated in Matlab. I used the “make 2D plots located in 3D space” method because I wanted extra customisations.
Attribution
Source : Link , Question Author : user1581390 , Answer Author : Robin Georg