meshc
网格曲面图下的等高线图

说明
meshc(
创建一个网格和等高线图,并将 Z
)Z
中元素的列索引和行索引用作 x 坐标和 y 坐标。
meshc(___,
使用一个或多个名称-值对组参数指定 Name,Value
)meshc
图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 Surface 属性。
meshc(
将图形绘制到 ax
,___)ax
指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。
sc = meshc(___)
返回包含图曲面对象和等高线对象的图形数组。创建网格图和等高线图后,使用 sc
对其进行修改。有关属性列表,请参阅 Surface 属性 和 Contour 属性。
示例
在网格图下显示等高线图
创建三个相同大小的矩阵。然后将它们绘制为一个网格图,其下方有一个等高线图。网格图使用 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';
更改等高线的位置
默认情况下,等高线显示在最小 z 层级,但您可以通过设置 ZLocation
属性来更改其位置。
将 peaks
数据集显示为网格图,等高线位于最小 z 层级。当您调用 meshc
函数时,请指定返回参数,以便您 Contour
对象。
Z = peaks; sc = meshc(Z);
获取当前坐标区,并将 z 轴的上限扩展到 15
。然后将等高线移至最大 z 层级。
ax = gca;
ax.ZLim(2) = 15;
sc(2).ZLocation = 'zmax';
输入参数
X
— x 坐标
矩阵 | 向量
x 坐标,指定为大小与 Z
相同的矩阵或长度为 n
的向量,其中 [m,n] = size(Z)
。如果未指定 X
和 Y
的值,meshc
将使用向量 (1:n)
和 (1:m)
。
当 X
是矩阵时,这些值必须在一个维度上严格递增或递减,而在另一个维度上保持不变。这个变化的维度必须与在 Y
中变化的维度相反。您可以使用 meshgrid
函数创建 X
和 Y
矩阵。
当 X
是向量时,值必须严格递增或递减。
曲面和等高线对象的 XData
属性存储 x 坐标。
示例: X = 1:10
示例: X = [1 2 3; 1 2 3; 1 2 3]
示例: [X,Y] = meshgrid(-5:0.5:5)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
Y
— y 坐标
矩阵 | 向量
y 坐标,指定为大小与 Z
相同的矩阵或长度为 m
的向量,其中 [m,n] = size(Z)
。如果未指定 X
和 Y
的值,meshc
将使用向量 (1:n)
和 (1:m)
。
当 Y
是矩阵时,这些值必须在一个维度上严格递增或递减,而在另一个维度上保持不变。这个变化的维度必须与在 X
中变化的维度相反。您可以使用 meshgrid
函数创建 X
和 Y
矩阵。
当 Y
是向量时,值必须严格递增或递减。
曲面和等高线对象的 YData
属性存储 y 坐标。
示例: Y = 1:10
示例: Y = [1 1 1; 2 2 2; 3 3 3]
示例: [X,Y] = meshgrid(-5:0.5:5)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
Z
— z 坐标
矩阵
z 坐标,指定为矩阵。Z
必须有至少两行两列。
Z
指定网格图在每个 x-y 坐标上的高度。如果不指定颜色,则 Z
还用于指定网格边颜色。
曲面和等高线对象的 ZData
属性存储 z 坐标。
示例: Z = [1 2 3; 4 5 6]
示例: Z = sin(x) + cos(y)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
C
— 颜色数组
矩阵 | RGB 三元组的 m
×n
×3
数组
颜色数组,指定为由颜色图索引组成的 m
×n
矩阵或 RGB 三元组的 m
×n
×3
数组,其中 Z
为 m
×n
。
要使用颜色图颜色,请将
C
指定为矩阵。对于网格曲面上的每个网格点,C
指示颜色图中的一种颜色。曲面对象的CDataMapping
属性控制C
中的值如何对应颜色图中的颜色。要使用真彩色,请将
C
指定为 RGB 三元组数组。
有关详细信息,请参阅颜色图和真彩色之间的差异。
曲面对象的 CData
属性存储颜色数组。如果要对曲面着色进行更多控制,请使用 FaceColor
和 EdgeColor
属性。
ax
— 绘图所用的坐标区
坐标区对象
要在其中绘图的坐标区,指定为 axes
对象。如果未指定坐标区,则 meshc
在当前坐标区中绘图。
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: meshc(X,Y,Z,'EdgeColor','red')
创建红线网格。
注意
此处所列的属性只是一部分。有关完整列表,请参阅 Surface 属性。
MeshStyle
— 要显示的边缘
'both'
(默认) | 'row'
| 'column'
要显示的边缘,指定为 'both'
、'row'
或 'column'
。
EdgeColor
— 边缘线条颜色
[0 0 0]
(默认) | 'none'
| 'flat'
| 'interp'
| RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
边线颜色,指定为下面列出的值之一。默认颜色 [0 0 0]
对应于黑边。
值 | 描述 |
---|---|
'none' | 不绘制边。 |
'flat' | 根据 |
'interp' | 根据
|
RGB 三元组、十六进制颜色代码或颜色名称 | 对所有边使用指定的颜色。此选项不会使用
|
RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码'#FF8800'
与'#ff8800'
、'#F80'
与'#f80'
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
FaceColor
— 面颜色
'flat'
(默认) | 'interp'
| 'none'
| 'texturemap'
| RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
面颜色,指定为下表中的值之一。
值 | 描述 |
---|---|
'flat' | 根据 |
'interp' | 根据
|
RGB 三元组、十六进制颜色代码或颜色名称 | 对所有面使用指定的颜色。此选项不会使用
|
'texturemap' | 变换 CData 中的颜色数据,以便其符合曲面。 |
'none' | 不绘制面。 |
RGB 三元组和十六进制颜色代码对于指定自定义颜色非常有用。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码'#FF8800'
与'#ff8800'
、'#F80'
与'#f80'
是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
"red" | "r" | [1 0 0] | "#FF0000" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
EdgeAlpha
— 边透明度
1 (默认) | 范围 [0,1]
中的标量值 | 'flat'
| 'interp'
边透明度,指定为下列值之一:
[0,1]
范围内的标量 - 在所有边上都使用统一的透明度。值为1
时完全不透明,值为0
时完全透明。介于0
和1
之间的值表示半透明。此选项不会使用AlphaData
属性中的透明度值。'flat'
- 根据AlphaData
属性中的值,对每个边使用不同透明度。首先您必须将AlphaData
属性指定为矩阵,大小与ZData
属性相同。第一个顶点上的透明度值确定整条边的透明度。EdgeColor
属性也必须设置为'flat'
。'interp'
- 根据AlphaData
属性中的值,对每个边使用插值透明度。首先您必须将AlphaData
属性指定为矩阵,大小与ZData
属性相同。通过基于各顶点处值进行插值,每条边上的透明度会渐变。EdgeColor
属性也必须设置为'interp'
。
LineStyle
— 线型
"-"
(默认) | "--"
| ":"
| "-."
| "none"
线型,指定为下表中列出的选项之一。
线型 | 描述 | 表示的线条 |
---|---|---|
"-" | 实线 |
|
"--" | 虚线 |
|
":" | 点线 |
|
"-." | 点划线 |
|
"none" | 无线条 | 无线条 |
LineWidth
— 线条宽度
0.5
(默认) | 正值
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。
线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。
扩展功能
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
用法说明和限制:
此函数接受 GPU 数组,但不在 GPU 上运行。
有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
此函数在分布式数组上运行,但在客户端 MATLAB 中执行。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
另请参阅
函数
属性
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)