0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Matlab画图技巧与实例:堆叠图stackedplot

冬至子 来源:算法工程师的学习日志 作者:搬砖工程师domi 2023-07-19 14:59 次阅读

MATLAB线图中,一共有3种类型,分别是

线图,包括:plot,plot3,stairs,errorbar,area,stackedplot函数。

对数图,包括:loglog,semilogx和semilogx函数,。

函数图,包括:fplot,fimplicit和fplot3函数,感觉和ezplot很像,参见

stackedplot函数专门用来绘制堆叠图,意思是一组数据拥有共同x轴,而y轴数据不同。在科研中相对于其他类型图,虽然不常常出现,但偶尔能用到。

注意,注意,注意,stackedplot函数在2018版本以下是没有的,只有2018版本及以上才有。

1 堆叠图stackedplot函数

1.1 用法

stackedplot(tbl)
stackedplot(tbl,vars)
stackedplot(___,'XVariable',xvar)
stackedplot(X,Y)
stackedplot(Y)
stackedplot(___,LineSpec)
stackedplot(___,Name,Value)
stackedplot(parent,___)
s = stackedplot(___)

stackedplot(tbl) 在堆叠图中绘制表或时间表的变量。该函数在垂直层叠的单独 y 轴中绘制变量。这些变量共享一个公共 x 轴。
如果 tbl 是表,则该函数绘制变量对行号的图。
如果 tbl 是时间表,则该函数绘制变量对行时间的图。
stackedplot 函数绘制 tbl 的所有数值、逻辑、分类、日期时间和持续时间变量,并忽略具有任何其他数据类型的表变量。例如,stackedplot(tbl,vars) 仅绘制 vars 指定的表或时间表变量。
stackedplot( ,'XVariable',xvar) 指定为堆叠图提供 x 值的表变量。此语法仅支持表,而不支持时间表。例如,stackedplot(X,Y) 绘制 Y 列对向量 X 的图。
stackedplot(Y) 绘制 Y 的列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。
stackedplot(
,LineSpec) 设置线型、标记符号和颜色。您可以将此语法与前面任何语法中的输入参数结合使用。例如,stackedplot( ,Name,Value) 使用一个或多个 Name,Value 对组参数设置堆叠图的属性。有关属性列表,请参阅 StackedLineChart 属性。可以将此选项与前面语法中的任何输入参数组合一起使用。名称-值对组设置应用于堆叠图中的所有绘图。将每个属性名称括在引号中。
stackedplot(parent,
) 在 parent 指定的图窗、面板或选项卡中创建堆叠图。选项 parent 可以位于前面的语法中的任何输入参数组合之前。例如,s = stackedplot(___) 返回 StackedLineChart 对象。创建堆叠图后,可以使用 s 更改堆叠图的属性。有关属性列表,请参阅 StackedLineChart 属性。

1.2 示例1

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
stackedplot(x,y,'ro');

图片

可以看出,上图由三个小图组成,它们公用x轴,但y轴不同。

1.3 示例2

这里我们可以通过句柄对图形进行更改。

堆叠图有很多属性,包括:

图片

例如,可以对x轴和y轴添加名称。其他属性类似,直接指定即可。设定时,注意数据类型。

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
h = stackedplot(x,y,'r-');
h.DisplayLabels = {'y1','y2','y3'};
h.XLabel = {'x-axis'};

图片

1.4 示例3

在堆叠图的属性设置时,注意,注意,注意,是对整个图进行更改,例如,如果将线型改成虚线,那么三个图都会被改成虚线。

但是,MATLAB也提供了每个图的属性操作,可通过整体属性中的h.LineProperties进行设置,对于每个小的图形,h.LineProperties下设属性有颜色、线型、线宽、点大小、图类型等等,如下

Color,可以为传统方法,例如‘r’,'b',可以设置RGB三色,如[0.5, 0.5, 0.5]
MarkerFaceColor
MarkerEdgeColor
LineStyle,设置为无时,要用‘none’命令
LineWidth
Marker
MarkerSize
PlotType,这里只能设置为plot,scatter和stairs函数,不能为其他类型

示例如下

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
h = stackedplot(x,y,'r-');
h.DisplayLabels = {'y1','y2','y3'};
h.XLabel = {'x-axis'};
h.LineProperties(1).Color = 'b';
h.LineProperties(1).LineWidth = 1.5;
h.LineProperties(2).LineStyle = 'none';
h.LineProperties(2).Marker = 'o';
h.LineProperties(2).MarkerSize = 8;
h.LineProperties(3).PlotType = 'stairs';
h.LineProperties(3).Color = 'k';
h.LineProperties(3).LineWidth = 1.5;

图片

这里,

第一个图颜色改成蓝色,线宽设为1.5;

第二个图线设置为无,点改为圈,点大小设为8;

第三个图线型设置为阶梯图,颜色设为黑色,线宽为1.5;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RGB
    RGB
    +关注

    关注

    4

    文章

    764

    浏览量

    57417
  • MATLAB仿真
    +关注

    关注

    4

    文章

    174

    浏览量

    19640
  • MATLAB命令
    +关注

    关注

    0

    文章

    3

    浏览量

    4985
收藏 人收藏

    评论

    相关推荐

    请教:怎样把FPGA的数据送给Matlab画图

    请教:怎样把FPGA的数据送给Matlab画图
    发表于 10-12 22:39

    matlab实例

    matlab实例
    发表于 01-23 13:58

    matlab 画图 坐标

    本帖最后由 飞鸟_发烧友 于 2013-3-31 10:22 编辑 求问 matlab这样的坐标画图怎么实现,在第四象限,纵轴为变量,横轴为因变量。见附图。将不胜感激。
    发表于 03-31 10:21

    matlab 画图

    我想使用matlab从文件中读取数据,并将数据进行画图。我是菜鸟刚接触matlab,希望高手指点一下,如果有例程更好。谢谢!
    发表于 07-16 20:54

    MATLAB中画柱状

    论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的matlab代码放上。y=[300 311;390 425; 312 321; 250 185; 550 5
    发表于 08-17 07:58

    matlab中怎么表示每个柱状的首尾坐标

    满意答案Flora的杂货店2018.04.08采纳率:55%等级:12已帮助:7739人论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画的matlab代码放上
    发表于 08-17 07:16

    matlab实例教程下载

    matlab实例教程    本书介绍了MATLAB一般原理和基本运算,重点介绍了MATLAB图形用户界面的结构
    发表于 06-18 14:26 620次下载
    <b class='flag-5'>matlab</b><b class='flag-5'>实例</b>教程下载

    MATLAB通信仿真及应用实例详解

    MATLAB通信仿真及应用实例详解:本书着重介绍了MATLAB在通信仿真,尤其是移动通信仿真中的应用,通过丰富具体的实例来加深读者对通信系统仿真的理解和掌握。 全书共分10章,前
    发表于 02-08 17:22 229次下载

    Matlab程序实例

    本文提供Matlab程序实例,希望对你的学习有所帮助!
    发表于 06-03 15:35 554次下载

    C语言与MATLAB接口编程与实例

    本书以简洁的语言、丰富的实例系统地介绍了C语言与 MATLAB 接口函数(称之为:C-MEX函数)的编程方法。用实例详细地介绍了MATLAB中所提供的数据类型在C-MEX函数中的编程方
    发表于 08-08 11:23 0次下载
    C语言与<b class='flag-5'>MATLAB</b>接口编程与<b class='flag-5'>实例</b>

    Matlab绘图教程(大量实例PPT)

    本教程是对matlab的介绍,以及指导使用matlab进行绘制各种曲线图,包含了matlab所有画图的技巧。
    发表于 12-08 16:16 0次下载

    MATLAB数学建模算法及实例分析

    MATLAB数学建模算法及实例分析,了解MATLAB
    发表于 01-22 14:06 0次下载

    基于MATLAB通信仿真及应用实例详解

    基于MATLAB通信仿真及应用实例详解
    发表于 09-04 09:01 49次下载
    基于<b class='flag-5'>MATLAB</b>通信仿真及应用<b class='flag-5'>实例</b>详解

    matlab画图如何坐标轴刻度

    Matlab画图完成后,只能是由Matlab自身给出的xy进行绘制图形,下面介绍如何修改自动生成的图形的坐标轴的刻度和标签。可以看到坐标轴是自动生成了x轴为-3~3;这里我们稍微放大一下,便于以后大家观看。
    发表于 11-01 14:19 2.6w次阅读
    <b class='flag-5'>matlab</b><b class='flag-5'>画图</b>如何坐标轴刻度

    使用MATLAB进行画图实例资料免费下载

    本文档的主要内容详细介绍的是使用MATLAB进行画图实例资料免费下载。
    发表于 08-29 17:29 16次下载