As answered on StackOverflow.
How do I add a 2D Plot along with a surface or mesh plot in MATLAB?
31 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I would like to have a 2D plot along with a 3D surface or mesh plot - shown by the blue line I drew on the surface plot below. How do I get it?
2 Kommentare
Akzeptierte Antwort
Kye Taylor
am 1 Mai 2013
Does this get you started?
% create figure
figure
% Generate data to make a surface
x = -1:0.1:1;
y = -1:0.1:1;
[X,Y] = meshgrid(x,y);
Z = X.^2 + Y.^2 - 1;
% visualize 3D surface
surf(X,Y,Z)
% Generate data to make line plot in plane z = minimumZValue
minimumZValue = min(Z(:));
t0 = linspace(0,2*pi);
x0 = .8*cos(t0);
y0 = .8*sin(t0);
% visualize line plot
line(x0,y0,minimumZValue*ones(size(t0)),'linewidth',2)
% Generate data to make line plot in plane x = minimumXValue
minimumXValue = min(X(:));
y00 = linspace(min(Y(:)),max(Y(:)));
% will be shifted to make z = minimumZValue the new z = 0
z00 = exp(-5*y00.^2);
z00 = z00 + minimumZValue; % comment this out to see effect
line(minimumXValue(ones(size(y00))),y00,z00,'linewidth',2,'color','r')
xlabel('x')
ylabel('y')
grid on
view(3)
2 Kommentare
Walter Roberson
am 1 Mai 2013
Notice that Kye has used a 3-dimensional line rather than a 2-dimensional one. The equivalent higher-level routine would be plot3().
If you attempt to put a 2 dimensional plot in with a 3 dimensional plot, then although you might be able to get it to work with a specific view, it would stop working if you rotated the view at all.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!