MATLAB画图技巧与实例(二十七):曲面图下的等高线图surfc函数 |
您所在的位置:网站首页 › matlab怎样画图片的等高线 › MATLAB画图技巧与实例(二十七):曲面图下的等高线图surfc函数 |
本文讲述 surfc 函数,用于绘制曲面图下的等高线图。顾名思义,surfc 函数取自 surf 函数+ contour 函数,即同一图中,既表现曲面,又绘制等高线。 在平时科研学习中,偶尔能见到。 为了大家方便观看,从本文开始,对重要的三维图形将追加GIF动画,以更好地呈现三维图形。 1 surfc函数1.1 用法 surfc(X,Y,Z) surfc(X,Y,Z,C) surfc(Z) surfc(Z,C) surfc(ax,___) surfc(___,Name,Value) sc = surfc(___)surfc(X,Y,Z) 创建一个三维曲面图,其下方有等高线图。曲面图是一个具有实色边和实色面的三维曲面。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。曲面的颜色根据 Z 指定的高度而变化。此外,surfc(X,Y,Z,C) 还指定曲面的颜色。surfc(Z) 创建一个曲面和等高线图,并将 Z 中元素的列索引和行索引分别用作 x 坐标和 y 坐标。此外,surfc(Z,C) 还指定曲面的颜色。surfc(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。surfc(___,Name,Value) 使用一个或多个名称-值对组参数指定曲面属性。例如,'FaceAlpha',0.5 创建半透明曲面。sc = surfc(___) 返回包含图曲面对象和等高线对象的图形数组。使用 sc 修改所创建的曲面图和等高线图。有关属性列表,请参阅 Surface 属性 和 Contour 属性。[1]注意,surfc 函数的具体用法和 surf 函数基本完全一致,可参考曲面图surf函数。 1.2 示例1 clc %更多文章,https://zhuanlan.zhihu.com/p/345799328 close all clear all num = 50; x = linspace(-3, 3, num); y = linspace(-3, 3, num); [X, Y] = meshgrid(x, y); Z = peaks(X,Y); surfc(X, Y, Z)上面两图分别为 surfc 和 surf 函数绘制的图形。曲面图完全一致,不同点在于 surfc 函数的下方多了等高线图。 动图视角如下 1.3 示例2 可以对图形属性进行修改,通过句柄完成,由 s = surfc(X, Y, Z);获得句柄,其一共包含两个变量,即 s(1) = surface; s(2) = contour;对于曲面 surface 的属性设置,在曲面图surf函数中已经描述得非常详细了,里面包括对颜色、面和边等的设置,可以参考。 这里主要讲contour的设置。输入 s(2)就能查看相关属性了。例如,填充区域且更改等高线的数目 clc %更多文章,https://zhuanlan.zhihu.com/p/345799328 close all clear all num = 50; x = linspace(-3, 3, num); y = linspace(-3, 3, num); [X, Y] = meshgrid(x, y); Z = peaks(X,Y); s = surfc(X, Y, Z); s(2).Fill = 'on'; s(2).LevelList = linspace(min(min(Z)), max(max(x)), 3); s(2).LineWidth = 2;同时修改曲面和等高线属性 clc %更多文章,https://zhuanlan.zhihu.com/p/345799328 close all clear all num = 50; x = linspace(-3, 3, num); y = linspace(-3, 3, num); [X, Y] = meshgrid(x, y); Z = peaks(X,Y); s = surfc(X, Y, Z); s(2).Fill = 'on'; s(2).LevelList = linspace(min(min(Z)), max(max(x)), 4); s(2).LineWidth = 2; s(1).FaceAlpha = 0.95; s(1).FaceColor = 'interp'; s(1).EdgeColor = 'none';动图效果如下 MATLAB帮助文档说可以调整等高线的位置,但是我在 R2017 和 R2019 两个版本均没有找到设置,回头有空查查 R2020 和 R2021 版本是否有。 持续更新,更多文章请见专栏和目录专栏:MATLAB科学绘图 MATLAB画图技巧与实例:目录 MATLAB画图技巧与实例(一):常用函数 参考^MATLAB帮助文档 https://ww2.mathworks.cn/help/matlab/ref/surfc.html |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |