Matlab二维区域填充绘图函数area

4
(3)

今天,给各位系统的介绍下 Matlab 中使用 area 绘制二维填充图中的常见方法,主要包括区域图得创建、区域图基值的调整、区域图的颜色和线型、使用颜色图颜色的区域图等常见用法。

Matlab二维区域填充绘图函数area

下面我们将开始非常详细的 Matlab area 函数语法介绍,实例引用,结果展示。首先,我们给出 Matlab 中关于 area 函数的帮助文本如下:

>> help area
 area  Filled area plot.
    area(X,Y) produces a stacked area plot suitable for showing the
    contributions of various components to a whole.
 
    For vector X and Y, area(X,Y) is the same as PLOT(X,Y) except that
    the area between 0 and Y is filled.  When Y is a matrix, area(X,Y)
    plots the columns of Y as filled areas.  For each X, the net
    result is the sum of corresponding values from the columns of Y.
 
    area(Y) uses the default value of X=1:SIZE(Y,1).
 
    area(X,Y,LEVEL) or area(Y,LEVEL) specifies the base level
    for the area plot to be at the value y=LEVEL.  The default
    value is LEVEL=0.
 
    area(...,'Prop1',VALUE1,'Prop2',VALUE2,...) sets the specified
    properties of the underlying areaseries objects.
 
    area(AX,...) plots into axes with handle AX. Use GCA to get the
    handle to the current axes or to create one if none exist.
 
    H = area(...) returns a vector of handles to areaseries objects.

常见用法

area(Y)
area(X,Y)
area(...,basevalue)
area(...,Name,Value)
area(ax,...)
ar = area(...)

语法说明

区域图将 Y 中的元素显示为一个或多个曲线并填充每个曲线下方的区域。如果 Y 为矩阵,则曲线堆叠在一起,显示每行元素占每个 x 区间的曲线总高度的相对量。

area(Y) 绘制向量 Y 或将矩阵 Y 中每一列作为单独曲线绘制并堆叠显示。x 轴自动缩放到 1:size(Y,1)。Y 中的值可以是数值或持续时间值。

area(X,Y) 绘制 Y 对 X 的图,并填充 0 和 Y 之间的区域。X 的值可以是数值、日期时间、持续时间或分类值。

  • 如果 Y 是向量,则将 X 指定为由递增值组成的向量,其长度等于 Y。如果 X 的值不增加,则 area 将在绘制之前对值进行排序。
  • 如果 Y 是矩阵,则将 X 指定为由递增值组成的向量,其长度等于 Y 的行数。area 将 Y 的列绘制为填充区域。对于每个 X,最终结果是 Y 行的相应值的和。您还可以将 X 指定为大小等于 Y 的矩阵。为了避免 X 为矩阵时出现意外输出,请将 X 的列指定为重复列。

area(…,basevalue) 指定区域填充的基值。默认 basevalue 为 0。将基值指定为数值。

area(…,Name,Value) 使用一个或多个名称-值对组参数修改区域图。

area(ax,…) 将图形绘制到 ax 坐标区中,而不是当前坐标区 (gca) 中。

ar = area(…) 返回一个或多个 Area 对象。area 函数将为向量输入参数创建一个 Area 对象。它会为矩阵输入参数的每一列创建一个对象。

创建 m×n 矩阵的区域图会创建 n 个区域序列对象(即每列一个),而 1×n 向量创建一个区域序列对象。

您在单个区域序列对象中设置的一些区域序列对象属性会设置图形中的所有区域序列对象的值。

创建区域图

将矩阵 Y 中的数据绘制成区域图。

Y = [1, 5, 3;
     3, 2, 7;
     1, 5, 3;
     2, 6, 1];
figure
area(Y)
Matlab二维区域填充绘图函数area

调整区域图的基值

默认情况下,area 使用 y 轴作为基值。通过将 basevalue 输入参数设置为 -4 改变基值。

Y = [1, 5, 3;
     3, 2, 7;
     1, 5, 3;
     2, 6, 1];
figure
basevalue = -4;
area(Y,basevalue)
Matlab二维区域填充绘图函数area

指定区域图的颜色和线型

创建 Y 区域图,并使用点线样式。返回数组 h 中的三个区域对象。area 函数为 Y 中的每列创建一个区域对象。

Y = [1, 5, 3;
     3, 2, 7;
     1, 5, 3;
     2, 6, 1];
h = area(Y,'LineStyle',':');
Matlab二维区域填充绘图函数area

使用 RGB 三元组颜色值更改区域颜色。使用圆点表示法设置属性。

h(1).FaceColor = [0 0.25 0.25];
h(2).FaceColor = [0 0.5 0.5];
h(3).FaceColor = [0 0.75 0.75];
Matlab二维区域填充绘图函数area

使用颜色图颜色的区域图

通过将 FaceColor 属性设置为 ‘flat’,创建一个使用颜色图颜色的区域图。

y = [1 3 5; 3 2 7; 3 4 2];
area(y,'FaceColor','flat')
Matlab二维区域填充绘图函数area

文章结尾说下区域的含义:每一个颜色代表一个区域,每一个颜色的每一个横坐标上的纵坐标高度代表纵坐标值。所以,整体的高度代表同一个点的纵坐标之和。比如,上面这组数据,第一列为1 3 3,对应蓝色区域;第二列为3 2 4,对应绿色区域;第三列5 7 2,对应黄色区域。明白了这一点,你就知道这个区域作图的原理了。

共计3人评分,平均4

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

本文来自转载,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/program/matlab-plot-function-area.html

发表评论

登录后才能评论
分享本页
返回顶部