contourslice
在三维体切片平面中绘制等高线
语法
说明
contourslice(___,
指定每个切片内要绘制等高线的位置处的值。lvls
)
contourslice(___,
指定插值方法,其中 method
) method
可以是 'linear'
、'cubic'
或 'nearest'
。
contourslice(
在指定坐标区而不是当前坐标区 (ax
,___)gca
) 中绘图。
返回创建的 s
= contourslice(___)Patch
对象。
示例
绘制单个切片的等高线
通过三维体数据创建单个切片平面并绘制数据值的等高线。
根据 flow
数据集创建矩阵 X
、Y
、Z
和 V
。在 z = 0 的切片平面中绘制 V 的等高线。
[X,Y,Z,V] = flow;
zslice = 0;
contourslice(X,Y,Z,V,[],[],zslice)
grid on
在切片平面中绘制等高线
通过三维体数据创建多个切片平面。在每个切片平面中绘制数据值的等高线。由 MATLAB 选择等高线层级。
创建 V
作为由 定义的三维体数据的数组。在 x 轴上 -1.2
、0.8
和 2
值处与轴正交的三个切片平面中绘制等高线。通过指定空数组,不创建任何与 y 轴或 z 轴正交的切片平面。将坐标区视图更改为三维视图并添加网格线。
[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);
xslice = [-1.2,0.8,2];
yslice = [];
zslice = [];
contourslice(X,Y,Z,V,xslice,yslice,zslice)
view(3)
grid on
指定等高线层级并添加颜色栏
通过三维体数据创建多个切片平面。在每个切片平面中绘制数据值的等高线。指定要绘制等高线的层级。然后添加颜色栏。
在 x 轴上 -1.2
、0.8
和 2
值处与轴正交的三个切片平面中绘制等高线。在值 -0.2
到 0.4
之间,以 0.01
为间距绘制三维体数据的等高线。添加颜色栏以查看数据值如何映射到等高线颜色。此外,将坐标区视图更改为三维视图并添加网格线。
[X,Y,Z] = meshgrid(-2:.2:2);
V = X.*exp(-X.^2-Y.^2-Z.^2);
xslice = [-1.2,0.8,2];
lvls = -0.2:0.01:0.4;
contourslice(X,Y,Z,V,xslice,[],[],lvls)
colorbar
view(3)
grid on
沿曲面切片绘制等高线
通过三维体数据创建曲面切片并沿三维体数据曲面绘制等高线。指定要绘制的等高线层级的数量。
创建 V
作为由 定义的三维体数据的数组。然后,沿 定义的曲面显示三维体数据的一个切片。沿曲面绘制 20 条等高线。将坐标区视图更改为三维视图并添加网格线。
[X,Y,Z] = meshgrid(-5:0.2:5);
V = X.*exp(-X.^2-Y.^2-Z.^2);
[xsurf,ysurf] = meshgrid(-2:0.2:2);
zsurf = xsurf.^2-ysurf.^2;
contourslice(X,Y,Z,V,xsurf,ysurf,zsurf,20)
view(3)
grid on
输入参数
X
— x 轴坐标数据
向量 | 三维数组
x 轴坐标数据,指定为向量或与 V
大小相同的三维数组。如果指定三维数组,它必须单调正交分布,就好像是由 meshgrid
函数生成的一样。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Y
— y 轴坐标数据
向量 | 三维数组
y 轴坐标数据,指定为向量或与 V
大小相同的三维数组。如果指定三维数组,它必须单调正交分布,就好像是由 meshgrid
函数生成的一样。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Z
— z 轴坐标数据
向量 | 三维数组
z 轴坐标数据,指定为向量或与 V
大小相同的三维数组。如果指定三维数组,它必须单调正交分布,就好像是由 meshgrid
函数生成的一样。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
V
— 三维体数据
三维数组
三维体数据,指定为三维数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
xslice
— x 轴切片值
标量 | 向量 | []
| 矩阵
yslice
— y 轴切片值
标量 | 向量 | []
| 矩阵
zslice
— z 轴切片值
标量 | 向量 | []
| 矩阵
num
— 等高线数量
标量
每个切片上的等高线数量,指定为标量。
示例: 4
在每个切片内绘制四条等高线。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
lvls
— 等高线层级
向量
等高线层级,指定为向量。如果要在每个切片的特定层级绘制一条等高线,请以 [lvl lvl]
形式指定该向量。
示例: [1 3 5]
在每个切片内的层级 1、3 和 5 处绘制等高线。
示例: [4 4]
在每个切片内的层级 4 处绘制一条等高线。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
method
— 插值方法
'linear'
(默认) | 'cubic'
| 'nearest'
插值方法,指定为下列值之一:
'linear'
- 在每个维度的相邻网格点进行线性插值。此值是切片为曲面时的默认值。'cubic'
- 在每个维度的相邻网格点进行三次插值。'nearest'
- 最近的网格点值。此值是切片为平面时的默认值。
ax
— 目标坐标区
当前坐标区 (默认) | Axes
对象
目标坐标区,指定为 Axes
对象。如果未指定坐标区,则 contourslice
在当前坐标区中绘图。
算法
contourslice
函数不会在绘图之前清除现有图。
扩展功能
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
版本历史记录
在 R2006a 之前推出
另请参阅
meshgrid
| slice
| interp3
| contour
| isosurface
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)