How to create 3d figures as follows

2 visualizaciones (últimos 30 días)
student_md
student_md el 4 de Mzo. de 2021
Editada: Cris LaPierre el 6 de Mzo. de 2021
I can lively modify my 3d plots on plots editor, but I want to modify on Editor by codes.
Suppose that we have two figures p1 and p2 as follows:
close all;
clc;
clear all;
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
p1 = surf(X,Y,Z);
hold on
p2 = surf(X,Y,Z);
I want to achive followings:
-p1 should be red sphere and markersize=12.
-p2 should be turquoise color and linestyle=none.
-axes gridlinestyle should be '-.' and axes gridline color=blue.
-Can legends be placed in a specific coordinate like (x=2,y=5,z=8)?
Consequently, I want to get a figure similar to the following:

Respuesta aceptada

Cris LaPierre
Cris LaPierre el 5 de Mzo. de 2021
Editada: Cris LaPierre el 6 de Mzo. de 2021
Once you know the property names, it's just a matter of setting the desired value. It does seem your equation creates a different shape from the one you show in your image.
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
p1 = surf(X,Y,Z,"FaceColor","none",...
"Marker","o","MarkerEdgeColor","y",...
"MarkerFaceColor","r",'MarkerSize',12,...
"EdgeColor","none","DisplayName","data2");
hold on
p2 = surf(X,Y,Z,"FaceColor",[0.25 0.8750 0.8125],...
"EdgeColor","none","DisplayName","data1");
hold off
grid on % grid is on by default, so not necessary
ax=gca;
ax.GridColor='b';
ax.GridLineStyle = '-'; % this is the default, so not necessary
% first input uses suface objects to set order lines appear.
legend([p2,p1],"Location","north")
xlabel("x")
ylabel("t")
zlabel("v(x,t)")

Más respuestas (0)

Categorías

Más información sobre Specifying Target for Graphics Output en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by