How to plot an array in 3D?
Afficher commentaires plus anciens
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 commentaires
Dyuman Joshi
le 1 Fév 2024
How did plot3 not work? Please specify.
Did you provide 3 arrays (of the compatible size) as input?
John
le 1 Fév 2024
Dyuman Joshi
le 1 Fév 2024
If that is not what you want, please specify.
Réponses (2)
Star Strider
le 1 Fév 2024
0 votes
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 commentaires
John
le 1 Fév 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
Catégories
En savoir plus sur Annotations dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




