How to plot an array in 3D?
10 次查看(过去 30 天)
显示 更早的评论
A 2D array S, plot(S) showing below, how to plot it in a 3D looking (plot3 did not work)?
Thank you for help!
回答(2 个)
Star Strider
2024-2-1
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 个评论
Star Strider
2024-2-1
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.
.
Voss
2024-2-1
"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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Line Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!