MATLAB绘制三维图形
1.基本的绘图命令
1)plot3函数 plot3(x,y,z)
%x,y,z为向量或者矩阵
注意x,y,z全为向量时向量长度必须相同plot3(x,y,z,'b.','MarkerSize',0.5)
% MarkerSize 表示点的大小,b.表示绿色的点。
eg.绘制三维螺旋线(向量为参数)和三维图形(矩阵为参数)
x=0: pi/50: 10*pi;
y=sin(x);
z=cos(x);
plot3(x,y,z,'*b','markersize',5);
xlabel('X');%设置坐标说明
ylabel('Y');
zlabel('Z');
grid on%画图添加网格线
figure(2)% 重新开启一个绘画窗口
[x,y] = meshgrid (-2: 0.1:2, -2: 0.1:2);
z=x.*exp(-x. ^ 3-y.^2);
plot3(x,y,z)
grid on
2)网图函数
函数名 | 说明 |
---|---|
mesh | 三维网格图 |
meshc | 将网格与等高线结合 |
meshz | 屏蔽的网格图 |
meshgrid | 生成网格点 |
3)着色函数 Surf (x,y,z,c)
eg.分别绘制三维面图,带等高线的面图,带屏蔽图的面图
x = -18: 0.5 :18;
y = x`;
a = ones (size (y)) * x;
b = y * ones (size (x));
c = sqrt (a.^2 + b.^2) + eps;
z = sin(c) ./ c;
mesh (z);
figure(2)
z = hilb (10);
mesh (z);
figure(3)
[x,y] = meshgrid([-4:0.5:4]);
z = sqrt(x.^ 2 + y.^2);
meshc(x,t,z) %contour surface
figure(4)
[x,y]=meshgrid([-4:0.5:4]);
mesh(z) %cover the grid
colormap([0 0 1])
figure(5)
[x,y] = meshgrid ([-4:0.5:4]);
z= sqrt(x.^ 2 + y.^2);
surf(z)
2.特殊的图形函数
函数名 | 说明 |
---|---|
bar3 | 三维条形图 |
comet3 | 三维彗星轨迹图 |
ezgraph3 | 控制绘制三维彗星图 |
pie3 | 三维饼状图 |
scatter3 | 三维散射图 |
stem3 | 三维离散数据图 |
surfc | 着色图等高线结合 |
trisurf | 三角形表面图 |
trimesh | 三角形网格图 |
waterfall | 瀑布图 |
cylinder | 柱面图 |
sphere | 球面图 |
eg.绘制三维饼状图/着色等高线图/三维等高线图、柱面图、球面图