Plot bunch of 2D data to 3D surface plot

14 views (last 30 days)
I have problems with plotting my data:
From several simulations I have numerous vectors z_data_i and y_data_i
I would like to 3D plot them, since all of the z and y data vectors are produced at different states x_state_i.
So:
z_data_1 = f(x_state_1, y_data_1)
z_data_2 = f(x_state_2, y_data_2)
...
z_data_LastSimulation = f(x_state_LastSimulation, y_data_LastSimulation)
whereas x_state_ith_Simulation is fix for each simulation. So I basically have 2D plots (each at state x_state_ith_Simulation) that I would like to combine to a 3D surface plot.
I have tried with mesh/meshgrid/surf but nothing worked.
Thank you so much for the help!!

Accepted Answer

Star Strider
Star Strider on 20 Jul 2019
Edited: Star Strider on 20 Jul 2019
I have no idea what your functions and data are, however plotting them is straightforward using the plot3 function.
Example —
x = linspace(0, 2*pi, 150);
fcn = @(x,s) sin(x*s);
s = 1:5:25; % ‘State’ Vector
for k = 1:numel(s)
z_data(k,:) = fcn(x,s(k));
end
figure
hold all
for k = 1:numel(s)
plot3(x,z_data(k,:),ones(size(x))*s(k)) % Stacked 2D Plots
end
hold off
grid on
view(-30,20)
figure
surf(x, s, z_data) % Surface Plot
grid on
xlabel('x')
ylabel('s')
Experiment with this idea with your data to get the result you want.
EDIT — Added comment documentation.
  8 Comments
TwoPhotons
TwoPhotons on 12 Oct 2021
I have a very similar question to this but a couple steps further. I have a 3D array where each page is a 2D fluorescence spectrum at a particular excitation wavelength, essentailly a signal vs. wavelength. So X and Z axis are wavelength and Y is intensity.
I can plot these each using plot3, but is there a way to create a mesh inbetween lines in the Z axis to create a topographical representation of the data? Essentially can a surface be generated from gathered data rather than from an equation?
Attached is a picture from the Royal Society's discussion on 3D flourescence, that's the end goal.
Star Strider
Star Strider on 12 Oct 2021
@CAMDEN JOHNSON — The image appears to be equivalent to a MATLAB surf plot.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!