今天,给各位带来Matlab中可以绘制带等高线图的网格曲面图的函数meshc的用法。meshc函数与mesh函数的区别在于,mesh函数用于绘制三维网格曲面图;而meshc用于绘制带等高线图的三维网格曲面图,即在三维网格曲面图下方投影一个等高线图。
本文主要讲解meshc函数的常见用法、语法说明、在网格图下显示等高线图、为网格和等高线图指定颜色图颜色、修改网格和等高线图的外观等用法。
下面,我们首先给出Matlab中关于meshc函数的帮助文档如下:
>> help meshc meshc Combination mesh/contour plot. meshc(...) is the same as MESH(...) except that a contour plot is drawn beneath the mesh. Because CONTOUR does not handle irregularly spaced data, this routine only works for surfaces defined on a rectangular grid. The matrices or vectors X and Y define the axis limits only.
常见用法
meshc(X,Y,Z) meshc(Z) meshc(___,C) meshc(ax,___) sc = meshc(___)
语法说明
meshc(X,Y,Z) 创建一个网格图,其下方有等高线图。网格图是一个三维曲面,有实色边颜色,无面颜色。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。边颜色因 Z 指定的高度而异。
meshc(Z) 创建一个网格和等高线图,并将 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标。
meshc(_,C) 进一步指定边的颜色。
meshc(ax,_) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。
sc = meshc(_) 返回包含图曲面对象和等高线对象的图形数组。创建网格图和等高线图后,使用 sc 对其进行修改。
在网格图下显示等高线图
创建三个相同大小的矩阵。然后将它们绘制为一个网格图,其下方有一个等高线图。网格图使用 Z 确定高度和颜色。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); meshc(X,Y,Z)
为网格和等高线图指定颜色图颜色
通过包含第四个矩阵输入 C 来指定网格和等高线图的颜色。这些图使用 Z 确定高度,使用 C 确定颜色。使用颜色图指定颜色,该颜色图使用单个数字表示色谱上的颜色。使用颜色图时,C 与 Z 大小相同。向图中添加颜色栏以显示 C 中的数据值如何对应于颜色图中的颜色。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); C = X.*Y; meshc(X,Y,Z,C) colorbar
修改网格和等高线图的外观
创建一个网格图,其下方有等高线图。要允许进一步修改,请将包含曲面和等高线对象的图形数组赋给变量 sc。
[X,Y] = meshgrid(-5:.5:5); Z = Y.*sin(X) - X.*cos(Y); sc = meshc(X,Y,Z);
对 sc 进行索引,以访问和修改所创建的网格和等高线图的属性。可通过 sc(1) 访问网格图,通过 sc(2) 访问等高线图。例如,通过设置 EdgeColor 属性来更改两个绘图的边颜色。
sc(1).EdgeColor = 'r'; sc(2).EdgeColor = 'b';
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1769.html