对于二维矩阵Z,Z的列下标当作x坐标轴的自变量,行下标当作y坐标轴的自变量,Z作为色值。
常用的三维图形 |
---|
三维曲线图 |
三维网格图 |
三维曲面图:三维网格图将格子填充颜色 |
三维绘图流程 |
给出绘图的数据 –> 设置图形窗口 –> 设置图形的视角 –> 设置图形的颜色 –> 设置图形的光照 –>…. –> 设置坐标轴 –> 设置图形标注 |
三维绘图函数
函数 | 函数功能 |
---|---|
plot3(X1,Y1,Z1,…) | 此 MATLAB 函数(其中 X1、Y1、Z1 为矢量或矩阵)在三维空间中绘制一个或多个线条,这些线条穿过坐标为 X1、Y1 和 Z1 的元素的点。 |
Z = peaks(X,Y)M | 示例函数,产生三维曲面图的数据,(X,Y)节点的数据为Z |
[X,Y] = meshgrid(xgv,ygv) | 产生二维网格坐标矩阵,即根据向量xgv,ygv来切割XOY平面 |
[X,Y,Z] = meshgrid(xgv,ygv,zgv) | 给出三维网格坐标矩阵,即切割三维空间 |
根据数据结点绘制三维图形 | |
mesh(X,Y,Z) | 使用(X,Y,Z)确定的点绘制网格图,并且颜色与曲面高度Z成比例 |
meshc(X,Y,Z) | 绘制带等高线的三维网格图 |
meshz(X,Y,Z) | 绘制带底座的三维网格图 |
waterfall(X,Y,Z) | 绘制三维网格图 |
surf(X,Y,Z) | 绘制三维曲面图 |
surfc(X,Y,Z) | 绘制带等高线的三维曲面图 |
surfl(X,Y,Z) | 绘制带光照效果的三维曲面图 |
特殊三维绘图 | |
[X,Y,Z] = cylinder(r,n) | 产生半径为r,n个节点的柱面数据 |
[X,Y,Z] = sphere(n) | 产生单位球面图的数据,n是坐标轴的节点数 |
contour3(X,Y,Z) | 绘制三维的等高线 |
bar3() | 绘制三维的柱状图 |
bar3h() | 绘制三维的水平的柱状图 |
pie3() | 绘制三维的饼状图 |
scatter3() | 绘制三维的散点图 |
stem3() | 绘制三维的火柴杆图 |
quiver3() | 绘制三维的向量场图 |
comet3() | 绘制三维的彗星图 |
fill3() | 绘制三维的填充图 |
ribbon() | 绘制三维的彩带图 |
非网格数据绘图 | |
vq = griddata(x,y,v,xq,yq,method) | 对v = f(x,y)进行插值,插值结点为(xq,yq),结果为vq。插值方法为method |
patch(X,Y,Z) | 创建三维片块模型 |
根据符号函数绘制三维图形 | |
ezplot3() | 绘制三维曲线 |
ezmesh() | 绘制三维网格图 |
ezmeshc() | 绘制带等高线的三维网格图 |
ezsurf() | 绘制三维曲面图 |
ezsurfc() | 绘制带等高线的三维曲面图 |
三维图形的设置 | |
视角 | |
view(az,el) | 设置视角方位角为az,仰角为el,都以度为单位,方位角 az 是从负 y 轴围绕 z 轴水平旋转的角度(以度为单位)。正值表示按逆时针方向旋转视点。el 是视点的垂直仰角(以度为单位)。仰角为正值对应于在对象上方移动;负值对应于在对象下方移动。 |
view([x,y,z]) | 视角为向量[x,y,z]所指方向 |
rotate3d on/off | 设置图形的三维视角的开启/关闭 |
hidden on/off | 设置三维网格图的透图视效果开启/关闭,默认关闭 |
色图 | m*3的矩阵,每一行都是RGB的三元组,默认为64*3,一个图形窗口(不是子图)只能有一个色图 |
colormap(CM) | 设置色图为CM,默认为jet |
rgbplot(CM) | 绘制色图CM |
colorbar(….) | 添加颜色条 |
brighten(beta) | 增亮或变暗图形的色图。beta为[-1 1];beta为[-1 0]时,变暗;beta为[0 1]时,增亮。 |
caxis([cmin cmax]) | 将颜色限制设置为指定的最小值和最大值。小于 cmin 或大于 cmax 的数据值将分别映射到 cmin 和 cmax。 |
shading options | 设置曲面图形的着色方式,flat,interp,faceted。 |
colordef(…) | 设置图形的背景颜色 |
light | 添加默认的光源 |
light(‘PropertyName’,propertyvalue,…) | 使用给定属性的指定值创建一个光源对象 |
lighting options | 设置光照模式 |
图形的透视 | |
hidden off | |
图形的镂空 | |
例子:z(10:15,10:15) = NaN | NaN的点不显示 |
图形的切面 | |
例子:z(10:15,10:15) = 0 | 0的点显示为切面 |
四维绘图 | |
surf(x,y,z,c) | 利用颜色c来表示第四个维度 |
图形动画 | |
spinmap(t,inc) | 使色图做循环变化,旋转时间为t,旋转快慢为inc |
M(i) = getframe | 对图形进行拍照,存储在数组M中 |
movie(M,n,fps) | 每秒fps的速度把M的中的画面播放n次 |
rotate(h,direction,alpha) | 使图形h绕direction旋转alpha度。direction以向量形式给出 |
制作动画的3种典型方法 | |
1 | 改变图形的参数 |
2 | 改变图形的视角 |
3 | 使用rotate函数 |
图形的输出 | |
编辑->复制图形 | 复制到windows的剪贴板 |
文件->保存为 | 保存为指定格式的图片 |
截图 |