效果如下:

示例代码:

figure('Color','w');
h1 = animatedline;
h1.Color = 'r';
h1.LineWidth = 1.0;
h1.LineStyle = '-.'; h2 = animatedline;
h2.Color = 'b';
h2.LineWidth = 1.0;
h2.LineStyle = '-'; axis([0,4*pi,-1,1])
x = linspace(0,4*pi,1000);
y1 = sin(x);
y2 = cos(x);
for k = 1:length(x)
addpoints(h1,x(k),y1(k));
addpoints(h2,x(k),y2(k));
drawnow;
end

要点:

  • Matlab提供了绘制动态曲线的专用对象 animatedline,和该对象的专用方法 addpoints。通过 addpoints 和 drawnow 在循环中对 animatedline 对象的不断赋值和打印,就可以绘制出动态曲线。
  • animatedline 对象在声明的时候,可以是没有数据点的空曲线,也可以是有若干初始点的曲线。如果 animatedline 对象有初始点,在声明的时候会直接在 Figure 中绘制出来。如果想要让曲线从虚空中来,那么示例中 “先声明空曲线,再逐点赋值” 的操作是需要掌握的。
  • animatedline 对象拥有 Line 的各类属性。
  • 如果没有提前创建一个 Figure,在绘制 animatedline 对象的时候,会自动创建一个默认的 Figure。所以如果想要对 Figure 的属性进行调整,请在声明 animatedline 对象之前自定义一个 Figure。
  • 最后,一个重要的细节:请使用 axis 固定坐标轴!

Matlab | 绘制动态曲线(使用 animatedline 对象)的更多相关文章

  1. [转载] MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    转载的原文地址 先上效果图 随着时间的推移,曲线向右平移,同时X轴的时间坐标跟着更新. 一.如何绘制动态曲线 所谓动画,都是一帧一帧的图像连续呈现在用户面前形成的.所以如果你掌握了如何绘制静态曲线,那 ...

  2. 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁   2011 ...

  3. pyqt中使用matplotlib绘制动态曲线

    一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...

  4. pyqt中使用matplotlib绘制动态曲线 – pythonic

    一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟 ...

  5. C++第四十四篇 -- MFC使用ChartCtrl绘制动态曲线

    前言 目的:使用控制台程序带MFC类库画一个动态曲线图 参考链接: https://blog.csdn.net/sinat_29890433/article/details/105360032 htt ...

  6. Qt绘制动态曲线

    首先*.pro文件中加一句 QT += charts 然后 mainwindow.cpp文件如下: #include "mainwindow.h" #include "u ...

  7. Matlab 如何绘制复杂曲线的包络线

    Matlab 如何绘制复杂曲线的包络线 http://jingyan.baidu.com/article/aa6a2c14d36c710d4c19c4a8.html 如果一条曲线(比如声音波形)波动很 ...

  8. Matlab绘图基础——绘制三维曲线

    %% 绘制三维曲线 %plot3函数,其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同. %1.当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线. x0 = 0 ...

  9. matlab绘制二维图形

    常用的二维图形命令: plot:绘制二维图形 loglog:用全对数坐标绘图 semilogx:用半对数坐标(X)绘图 semilogy:用半对数坐标(Y)绘图 fill:绘制二维多边填充图形 pol ...

随机推荐

  1. JVM:Hotspot虚拟机中的对象

    在HotSpot虚拟机中,对象在内存中存储的布局可以被分为3个区域:对象头(Header).实例数据(Instance data)和对齐填充(Padding).对象头包括两部分信息,第一部分存储自身的 ...

  2. 多线程--vthread

    vthread中包含两个类: vthread.vthread.pool vthread.vthread.thread 其中class pool的原型如下: class pool(builtins.ob ...

  3. $time $stime $realtime

    1,$time The $time system function returns an integer that is a 64-bit time, scaled to the timescale ...

  4. valid-palindrome leetcode C++

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  5. mysql查询表名和列名字

    -- 登录yellowcong 数据库 mysql -uroot -proot yellowcong -- 查看当前数据库 select database() -- 查看数据库里面的表 --table ...

  6. Linux部署Apollo+.Net Core简单使用

    Apollo官方网站非常详细,以下只是本人学习过程的整理 一.概念 Apollo(阿波罗)是一款可靠的分布式配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并 ...

  7. Spark记录(一):Spark全景概述

    一.Spark是什么 Spark是一个开源的大数据处理引擎. 二.Spark的主要组件如下图所示:  三.Spark运行时架构 Spark共有三种运行模式:本地模式.集群模式.客户端模式. 生产环境基 ...

  8. GDB 调试技巧(不断更新中......)

    一.break到不同类的同名函数 方法: 在函数前面加类名以及作用域运算符 eg : break A::func //break 到类A的func函数 程序如下: //gdb_test.cpp #in ...

  9. IDEA安装热部署插件JRebel

    首先说下热部署是什么意思吧,简单了说就是在我们对代码进行更改之后,不需要重启项目,重新编译一下就可以直接运行最新的代码的部署方式.既然是部署方式,项目启动部署的时候当然就会和正常情况下不一样啦~ JR ...

  10. Python基础(@property)

    class Point(object): # def get_score(self): # return self.score # def set_score(self,value): # if no ...