本文主要是介绍Contour Plots: (1) contour,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 示例1:函数的等高线
- 示例2:二十个层级的等高线
- 示例3:一个层级的等高线
- 示例4:虚线等高线
- 示例5:带标签的等高线
- 示例6:具有特定小数位数和单位的标签
- 示例7:不同单位的标签
- 示例8:自定义线宽
- 示例9:不连续曲面上的等高线
示例1:函数的等高线
%创建矩阵X和Y,用于在x-y平面中定义一个网格。
%将矩阵Z定义为该网格上方的高度。然后绘制Z的等高线。
x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
contour(X,Y,Z);
示例2:二十个层级的等高线
%将Z定义为X和Y的函数。
%调用peaks函数以创建X、Y和Z。然后绘制Z的20个等高线。
[X,Y,Z] = peaks;
contour(X,Y,Z,20);
示例3:一个层级的等高线
%显示peaks函数在Z=1处的等高线。
[X,Y,Z] = peaks;
v = [1,1]; %要在一个高度(k)绘制等高线,请将levels指定为二元素行向量[k k]
contour(X,Y,Z,v);
示例4:虚线等高线
%创建peaks函数的等高线图,并指定虚线线型。
[X,Y,Z] = peaks;
contour(X,Y,Z,'--');
示例5:带标签的等高线
%将Z定义为两个变量X和Y的函数。
%然后创建该函数的等高线图,并通过将ShowText属性设置为'on'来显示标签。
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,'ShowText','on');
示例6:具有特定小数位数和单位的标签
%自R2022b开始提供
%创建一个显示标签的等高线图,标签表示为小数点后带一位数字并后跟字母m。
contour(peaks,[-4 0 2],"ShowText",true,"LabelFormat","%0.1f m");
示例7:不同单位的标签
%自R2022b开始提供
%当需要计算值时,可以指定函数来格式化标签。
%例如,您可以定义一个函数来计算不同单位的标签值。
%在名为mylabelfun.m的程序文件中定义此函数。
%该函数将输入从米转换为英尺,并返回一个字符串向量,其中包含以米为单位的每个值,并用括号括起相应的以英尺为单位的值。
function labels = mylabelfun(vals)feetPerMeter = 3.28084;feet = round(vals.*feetPerMeter);labels = vals + " m (" + feet + " ft)";labels(vals == 0) = "0 m";
end%接下来,创建一个等高线图,并将LabelFormat属性指定为mylabelfun的句柄。
contour(peaks,[-4 0 2],"ShowText",true,"LabelFormat",@mylabelfun);
示例8:自定义线宽
%创建peaks函数的等高线图。
%通过将LineWidth属性设置为3,使等高线更粗。
Z = peaks;
[M,c] = contour(Z);
c.LineWidth = 3;
示例9:不连续曲面上的等高线
%在曲面上任何不连续的位置插入NaN值。
%contour函数不会在这些区域中绘制等高线。
%将矩阵Z定义为peaks函数的采样。
%将列26中的所有值替换为NaN值。然后绘制修改后的Z矩阵的等高线。
Z = peaks;
Z(:,26) = NaN;
contour(Z);
这篇关于Contour Plots: (1) contour的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!