Matlab中有一个waterfall函数,可以用于绘制瀑布图。瀑布图,即一种沿 y 维度有部分帷幕的网格图。瀑布图跟上一篇我们讲的《Matlab meshz函数创建帷幕网格曲面图》文章,有这异曲同工之妙。不同点在于,帷幕网格图是一种沿Y维度均匀分布的帷幕,而普不同只是部分帷幕。
本文,主要讲解matlab waterfall函数的常见用法、语法说明、创建瀑布图、指定颜色图颜色、修改图的外观、更改帷幕位置等用法。
下面,我们首先给出Matlab中关于waterfall函数的帮助文档如下:
>> help waterfall waterfall Waterfall plot. waterfall(...) is the same as MESH(...) except that the column lines of the mesh are not drawn - thus producing a "waterfall" plot. For column-oriented data analysis, use waterfall(Z') or waterfall(X',Y',Z').
其实这几篇关于网格曲面图的文章发出来,大家也注意到了,基本上这些函数的用法,都跟mesh函数一样的,所以也可以参考:《Matlab网格曲面图绘制函数mesh用法》。
常见用法
waterfall(X,Y,Z) waterfall(X,Y,Z,C) waterfall(Z) waterfall(Z,C) waterfall(ax,___) p = waterfall(___)
语法说明
waterfall(X,Y,Z) 创建瀑布图,这是一种沿 y 维度有部分帷幕的网格图。这会产生一种“瀑布”效果。该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。边颜色因 Z 指定的高度而异。
waterfall(X,Y,Z,C) 进一步指定边的颜色。
waterfall(Z) 创建一个瀑布图,并将 Z 中元素的列索引和行索引用作 x 坐标和 y 坐标。
waterfall(Z,C) 进一步指定边的颜色。
waterfall(ax,_) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。此参数可用于上述任一输入语法。
p = waterfall(_) 返回补片对象。在创建瀑布图后,使用 p 对其进行修改。
创建瀑布图
创建三个相同大小的矩阵。然后将它们绘制为一个瀑布图。网格图对高度和颜色均使用 Z。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); waterfall(X,Y,Z)
指定颜色图颜色
通过包含第四个矩阵输入 C 来指定瀑布图的颜色。瀑布图使用 Z 表示高度,C 表示颜色。向图中添加颜色栏以显示 C 中的数据值如何对应于颜色图中的颜色。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); C = gradient(Z); waterfall(X,Y,Z,C) colorbar
修改图的外观
创建一个瀑布图。要允许进一步修改,请将补片对象赋给变量 p。
[X,Y] = meshgrid(-5:.5:5); Z = Y.*sin(X) - X.*cos(Y); p = waterfall(X,Y,Z)
输出结果为:
p = Patch (具有属性): FaceColor: [1 1 1] FaceAlpha: 1 EdgeColor: 'flat' LineStyle: '-' Faces: [21x26 double] Vertices: [546x3 double]
在创建瀑布图之后可使用 p 访问并修改其属性。例如,通过设置 EdgeColor 属性来更改图边的颜色。
p.EdgeColor = 'b';
更改帷幕位置
通过转置输入参数,沿 x 维度(而不是 y 维度)显示部分帷幕。
[X,Y] = meshgrid(-3:.125:3); Z = peaks(X,Y); waterfall(X',Y',Z')
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1811.html