前文中,给大家讲了Matlab利用mesh创建网格曲面图以及利用meshc创建带投影的网格曲面图。今天,再给大家来一篇meshz函数创建带帷幕的网格曲面图。这里所说的帷幕是指网格曲面图向下延申至z轴坐标原点平面。本文主要讲解meshz函数的常见用法、语法说明、显示网格图周围的帷幕、为带帷幕的网格图指定颜色图颜色、修改带帷幕的网格图的外观等用法。
下面,我们首先给出Matlab中关于meshz函数的帮助文档如下:
>> help meshz meshz 3-D mesh with curtain. meshz(...) is the same as MESH(...) except that a "curtain" or reference plane is drawn beneath. This routine only works for surfaces defined on a rectangular grid. The matrices X and Y define the axis limits only.
常见用法
meshz(X,Y,Z) meshz(X,Y,Z,C) meshz(Z) meshz(Z,C) meshz(ax,___) s = meshz(___)
语法说明
meshz(X,Y,Z) 创建一个周围有帷幕的网格图。网格图是一个三维曲面,有实色边颜色,无面颜色。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。边颜色因 Z 指定的高度而异。
meshz(X,Y,Z,C) 进一步指定边的颜色。
meshz(Z) 创建一个具有帷幕的网格图,并将 Z 中元素的列和行索引用作 x 和 y 坐标。
meshz(Z,C) 进一步指定边的颜色。
meshz(ax,_) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。
s = meshz(_) 将返回一个图曲面对象。在创建网格图后,使用 s 修改网格图。
显示网格图周围的帷幕
创建三个相同大小的矩阵。然后将它们绘制为带帷幕的网格图。网格图对高度和颜色均使用 Z。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); meshz(X,Y,Z)
为带帷幕的网格图指定颜色图颜色
通过包含第四个矩阵输入 C,指定网格图和周围帷幕的颜色。网格图使用 Z 表示高度,C 表示颜色。使用颜色图指定颜色,该颜色图使用单个数字表示色谱上的颜色。使用颜色图时,C 与 Z 大小相同。向图中添加颜色栏以显示 C 中的数据值如何对应于颜色图中的颜色。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); C = gradient(Z); meshz(X,Y,Z,C) colorbar
修改带帷幕的网格图的外观
创建一个周围有帷幕的网格图。要允许进一步修改,请将曲面对象赋给变量 s。
[X,Y] = meshgrid(-5:.5:5); Z = Y.*sin(X) - X.*cos(Y); s = meshz(X,Y,Z)
输出结果为:
s = Surface (meshz) (具有属性): EdgeColor: 'flat' LineStyle: '-' FaceColor: [1 1 1] FaceLighting: 'none' FaceAlpha: 1 XData: [25x25 double] YData: [25x25 double] ZData: [25x25 double] CData: [25x25 double]
使用 s 可在创建曲面后访问和修改网格图的属性。例如,通过设置 EdgeColor 属性,更改网格图边和周围帷幕的颜色。
s.EdgeColor = 'b';
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1780.html