Matlab网格曲面图绘制函数mesh用法

4
(2)

今天,来给大家讲解下Matlab中的网格曲面图绘制函数mesh,它一般用于绘制三维曲面,有实色边颜色,无面颜色。本文主要讲解mesh函数的常见用法、语法说明、创建网格图、为网格图指定颜色图颜色、为网格图指定真彩色、修改网格图外观等用法。

Matlab网格曲面图绘制函数mesh用法

下面,我们首先给出Matlab中关于mesh函数的帮助文档如下:

>> help mesh
 mesh   3-D mesh surface.
    mesh(X,Y,Z,C) plots the colored parametric mesh defined by
    four matrix arguments.  The view point is specified by VIEW.
    The axis labels are determined by the range of X, Y and Z,
    or by the current setting of AXIS.  The color scaling is determined
    by the range of C, or by the current setting of CAXIS.  The scaled
    color values are used as indices into the current COLORMAP.
 
    mesh(X,Y,Z) uses C = Z, so color is proportional to mesh height.
 
    mesh(x,y,Z) and mesh(x,y,Z,C), with two vector arguments replacing
    the first two matrix arguments, must have length(x) = n and
    length(y) = m where [m,n] = size(Z).  In this case, the vertices
    of the mesh lines are the triples (x(j), y(i), Z(i,j)).
    Note that x corresponds to the columns of Z and y corresponds to
    the rows.
 
    mesh(Z) and mesh(Z,C) use x = 1:n and y = 1:m.  In this case,
    the height, Z, is a single-valued function, defined over a
    geometrically rectangular grid.
 
    mesh(...,'PropertyName',PropertyValue,...) sets the value of
    the specified surface property.  Multiple property values can be set
    with a single statement.
 
    mesh(AX,...) plots into AX instead of GCA.
 
    mesh returns a handle to a surface plot object.
 
    AXIS, CAXIS, COLORMAP, HOLD, SHADING, HIDDEN and VIEW set figure,
    axes, and surface properties which affect the display of the mesh.

常见用法

mesh(X,Y,Z)
mesh(Z)
mesh(Z,C)
mesh(___,C)
mesh(ax,___)
mesh(___,Name,Value)
s = mesh(___)

语法说明

mesh(X,Y,Z) 创建一个网格图,该网格图为三维曲面,有实色边颜色,无面颜色。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。边颜色因 Z 指定的高度而异。

mesh(Z) 创建一个网格图,并将 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标。

mesh(Z,C) 进一步指定边的颜色。

mesh(_,C) 进一步指定边的颜色。

mesh(ax,_) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。

mesh(_,Name,Value) 使用一个或多个名称-值对组参数指定曲面属性。例如,’FaceAlpha’,0.5 创建半透明网格图。

s = mesh(_) 将返回一个图曲面对象。在创建网格图后,使用 s 修改网格图。

创建网格图

创建三个相同大小的矩阵。然后将它们绘制为一个网格图。该绘图使用 Z 确定高度和颜色。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)
Matlab网格曲面图绘制函数mesh用法

为网格图指定颜色图颜色

通过包含第四个矩阵输入 C 来指定网格图的颜色。网格图使用 Z 确定高度,使用 C 确定颜色。使用颜色图指定颜色,该颜色图使用单个数字表示色谱上的颜色。使用颜色图时,C 与 Z 大小相同。向图中添加颜色栏以显示 C 中的数据值如何对应于颜色图中的颜色。

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C)
colorbar
Matlab网格曲面图绘制函数mesh用法

为网格图指定真彩色

通过包含第四个矩阵输入 CO 来指定网格图的颜色。网格图使用 Z 确定高度,使用 CO 确定颜色。使用真彩色指定颜色,真彩色使用三个数字(即三元组)表示所有可能的颜色。使用真彩色时,如果 Z 为 m×n,则 CO 为 m×n×3。数组的第一页指示每种颜色的红色分量;第二页指示绿色分量;第三页指示蓝色分量。

[X,Y,Z] = peaks(25);
CO(:,:,1) = zeros(25); % red
CO(:,:,2) = ones(25).*rand; % green
CO(:,:,3) = ones(25).*rand; % blue
mesh(X,Y,Z,CO)
Matlab网格曲面图绘制函数mesh用法

修改网格图外观

指定值为 0.5 的 FaceAlpha 名称-值对组,以创建半透明网格曲面。要允许进一步修改,请将曲面对象赋给变量 s。

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')
Matlab网格曲面图绘制函数mesh用法

输出结果为:

s = 
  Surface (具有属性):
       EdgeColor: 'flat'
       LineStyle: '-'
       FaceColor: [1 1 1]
    FaceLighting: 'none'
       FaceAlpha: 0.5000
           XData: [21x21 double]
           YData: [21x21 double]
           ZData: [21x21 double]
           CData: [21x21 double]

使用 s 可在创建曲面后访问和修改网格图的属性。例如,通过设置 FaceColor 属性,为网格图的面添加颜色。

s.FaceColor = 'flat';
Matlab网格曲面图绘制函数mesh用法

共计2人评分,平均4

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/1744.html

(0)
微信公众号
古哥的头像古哥管理团队
上一篇 2021年02月13日 22:59
下一篇 2021年02月15日 19:34

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号