今天,带来Matlab中三维条带图的绘制方法。Matlab中,有一个ribbon函数,可以绘制三维条带图,属于一种另类的曲面图,可以理解为以有限根有一定宽度的条带图组合表盒曲面图。本文主要讲解ribbon函数的常见用法、语法说明以及条带图的创建。
下面,我们首先给出Matlab中关于surfl函数的帮助文档如下:
>> help ribbon ribbon Draw 2-D lines as ribbons in 3-D. ribbon(X,Y) is the same as PLOT(X,Y) except that the columns of Y are plotted as separated ribbons in 3-D. ribbon(Y) uses the default value of X=1:SIZE(Y,1). ribbon(X,Y,WIDTH) specifies the width of the ribbons to be WIDTH. The default value is WIDTH = 0.75; ribbon(AX,...) plots into AX instead of GCA. H = ribbon(...) returns a vector of handles to surface objects.
常见用法
ribbon(Y) ribbon(X,Y) ribbon(X,Y,width) ribbon(axes_handle,...) h = ribbon(...)
语法说明
ribbon(Y) 使用 X = 1:size(Y,1) 将 Y 列绘制为宽度均匀的三维条带。条带以单位间隔沿 x 轴前进,在刻度线上居中显示,宽度为四分之三单位。条带以线性方式将 X 中的值映射到颜色图中的颜色。要更改图形中的条带颜色,请更改 colormap。
ribbon(X,Y) 为 Y 中的数据绘制三维条带,在 X 中指定的位置居中显示。X 和 Y 是大小相同的向量或矩阵。另外,X 可以是行或列向量,Y 是包含 length(X) 行的矩阵。当 Y 为矩阵时,ribbon 将 Y 中的每列绘制为位于对应 X 位置的条带。
ribbon(X,Y,width) 指定条带的宽度。默认值为 0.75。如果 width = 1,则各条带相互接触,沿 z 轴向下查看时它们紧挨在一起。如果 width > 1,则条带相互重叠并可能相交。
ribbon(axes_handle,…) 将图形绘制到带有句柄 axes_handle 的坐标区中,而不是当前坐标区 (gca) 中。
h = ribbon(…) 将句柄向量返回给曲面图形对象。ribbon 为每个条带返回一个句柄。
条带图的创建
创建 peaks 函数的条带图。
[x,y] = meshgrid(-3:.5:3,-3:.1:3); z = peaks(x,y); figure ribbon(y,z)
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1668.html