迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > MATLAB >

MATLAB 瀑布图

作者:迹忆客 最近更新:2023/04/23 浏览次数:

本教程将讨论使用 MATLAB 的 waterfall() 函数创建瀑布图。


MATLAB 瀑布图

瀑布图就像网格图; 它在 y 轴上也有窗帘,在情节上创造了瀑布效果。 我们可以使用 MATLAB 的 waterfall() 函数来创建 3D 瀑布图。

waterfall() 函数具有如下所示的六种语法。

waterfall(x,y,z)
waterfall(x,y,z,color)
waterfall(z)
waterfall(z,c)
waterfall(axes,___)
obj = waterfall(___)

第一个语法将在由 x 和 y 变量指定的网格上创建瀑布图,边缘的高度将从变量 z 中获取。 默认情况下,waterfall() 函数将使用 z 变量为图中出现的边分配颜色。

输入变量 x 和 y 应该是一个矩阵或向量,变量 z 应该是一个矩阵,它应该有两行和两列。 如果 x 和 y 是矩阵,它们的大小应该等于变量 z 的大小。

第二种语法用于设置边缘的颜色,它将替换边缘的默认颜色。 颜色应该是一个与边数大小相同的矩阵,并且包含绘图中所有边的颜色。

例如,让我们使用 waterfall() 函数创建一些随机数据的瀑布图。 请参阅下面的代码。

clc
clear

[x,y] = meshgrid(-6:.3:6);
z = x.*cos(y) + y.*sin(x);
waterfall(x,y,z)

输出:

simple waterfall plot

我们在上面的代码中使用了 meshgrid() 来创建一个统一的网格。 边的颜色根据矩阵 z 分配。

我们可以在 waterfall() 函数之后使用 colorbar 命令,它将沿着瀑布图显示一个颜色条,可以用来查看哪种颜色属于哪个值。

第三种语法将根据变量 z 的高度创建一个瀑布图,它将从 z 矩阵的索引中获取网格值或 x 和 y 的值。 颜色也将从 z 矩阵中获取。

第四种语法可以指定矩阵 c 中矩阵 z 中存在的边的颜色,以便 c 的大小等于 z 的大小。 第五个语法将用于在 axes 变量指定的轴而不是图的当前轴上创建瀑布图。

第六个语法用于创建瀑布图的对象,可用于显示和修改瀑布图的属性。 例如,让我们使用上面的示例代码创建一个 waterfall() 函数的对象并检查其属性。

请参阅下面的代码。

clc
clear

[x,y] = meshgrid(-6:.3:6);
z = x.*cos(y) + y.*sin(x);
p = waterfall(x,y,z);

输出:

p =

  Patch with properties:

    FaceColor: [1 1 1]
    FaceAlpha: 1
    EdgeColor: 'flat'
    LineStyle: '-'
        Faces: [41×46 double]
     Vertices: [1886×3 double]

上面的输出显示了瀑布图的一些属性,我们可以通过单击输出中的 Path 单词来查看所有属性。 我们可以使用函数对象和属性名称更改瀑布图的属性。

第一个属性,上面显示的 FaceColor,表示边缘包围区域的颜色,默认设置为白色,但我们可以使用颜色名称或 RGB 三元组值将其更改为任何颜色。

EdgeColor 属性表示图上边缘或点的颜色,默认情况下使用矩阵 z 的值分配这些颜色,但我们也可以像更改 FaceColor 属性一样更改此属性。

FaceAlpha 和 EdgeAlpha 属性用于设置图中出现的面和边的透明度,默认情况下设置为 1,但我们可以将其设置为 0 到 1 之间的任何值。

LineStyle 属性设置用于连接图中各点的线条样式,默认情况下,它的值设置为实线,如 -,但我们可以使用 -- 将其设置为虚线,点划线使用 - .,虚线使用 :,无线使用 none。

LineWidth 属性用于设置绘图中使用的线条的宽度,默认情况下,其值设置为 0.5,但我们可以将其值设置为任意正整数。

Marker 属性用于设置用于表示图上点的标记,默认情况下,其值设置为无,但我们可以使用 o 将其设置为圆形,使用 d 设置为菱形,使用 p 设置为五边形 , 等等。

我们可以使用 MarkerSize 属性来设置标记大小,默认情况下设置为 5,并将其设置为任意正值。

我们可以使用 MarkerEdgeColor 属性设置标记边缘线的颜色,使用 MarkerFaceColor 设置标记的填充颜色,用于给标记填充颜色,默认情况下,其值设置为无。

例如,让我们重复上面的例子,改变上面提到的属性。 请参阅下面的代码。

clc
clear

[x,y] = meshgrid(-6:1:6);
z = x.*cos(y) + y.*sin(x);
p = waterfall(x,y,z);
p.FaceColor = 'white';
p.EdgeColor = 'red';
p.LineStyle = '-.';
p.LineWidth = 1;
p.Marker = 'd';
p.MarkerSize = 10;
p.MarkerEdgeColor = 'green';
p.MarkerFaceColor = 'yellow';

输出:

properties of waterfall plot

在上面的代码中,我们更改了瀑布图的一些属性,我们还可以更改许多其他属性。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Matplotlib Pyplot 中显示网格

发布时间:2024/02/04 浏览次数:142 分类:Python

本文演示了如何在 Python Matplotlib 中在一个图上画一个网格。使用 grid()函数来绘制网格,并解释了如何改变网格颜色和线条类型。

如何在 Matplotlib 中画一条任意线

发布时间:2024/02/04 浏览次数:166 分类:Python

本教程讲解了我们如何在 Matplotlib 中使用 matplotlib.pyplot.plot()、matplotlib.pyplot.vlines()、matplotlib.pyplot.hlines()方法和 matplotlib.collection.LineCollection 绘制任意线条。

Matplotlib 中的叠加条形图

发布时间:2024/02/04 浏览次数:182 分类:Python

本教程展示了如何使用 plt.bar()方法将某些数据集的条形图堆叠在另一个数据集上。我们在 Matplotlib 中使用 matplotlib.pyplot.bar()方法生成条形图。

设置 Matplotlib 网格间隔

发布时间:2024/02/04 浏览次数:250 分类:Python

本教程将介绍我们如何在 Matplotlib 绘图中设置网格间距,并对主要网格和次要网格应用不同的样式。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便