How to plot an array in 3D?
Mostrar comentarios más antiguos
A 2D array S, plot(S) showing below, how to plot it in a 3D looking (plot3 did not work)?
Thank you for help!

3 comentarios
Dyuman Joshi
el 1 de Feb. de 2024
How did plot3 not work? Please specify.
Did you provide 3 arrays (of the compatible size) as input?
John
el 1 de Feb. de 2024
Dyuman Joshi
el 1 de Feb. de 2024
If that is not what you want, please specify.
Respuestas (2)
Star Strider
el 1 de Feb. de 2024
0 votos
Add:
view(-30,30)
after creating the plot.
Use whatever azimuth (first eargument in degrees) and elevation (second argument in degrees) that you want to show it from the direction you want.
2 comentarios
John
el 1 de Feb. de 2024
I assume that you want the lines separated by constant z-axis values.
x = linspace(0, 275, 275);
y = sin((1:10).'*2*pi*x) + (0:9).'*0.5;
figure
plot(x, y)
xlabel('x')
ylabel('y')
z = ones(size(y)) + (0:9).';
figure
plot3(x, y, z)
grid on
xlabel('x')
ylabel('y')
zlabel('z')
It would help to have your data.
.
"I would like to plot it each line on a separate axis number and all lines on the z-axis, like a 3D plot, but based on this 2D array"
Something like this?
% some made up data:
t = (1:200).';
S = [cosd(t) sind(t) 1./t exp(-t/100)];
% 3-D plot
figure
[m,n] = size(S);
[X,Z] = ndgrid(1:m,1:n);
plot3(X,S,Z)
xlabel('x')
ylabel('y')
zlabel('z')
box on
grid on
% (copy the axes to a new figure, for demonstration purposes only)
copyobj(gca(),figure())
% note that, when viewed from above, the 3-D plot looks the same as the 2-D plot
view(2) % 2-D (X,Y) view
% 2-D plot for comparison:
figure
plot(S);
xlabel('x')
ylabel('y')
zlabel('z')
box on
grid on
Categorías
Más información sobre Annotations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




