MATLAB中如何将多条曲线画在一张图上

2022年3月14日 68点热度 0人点赞

在用MATLAB处理数据时,有时候,为了几组不同数据之间的对比,我们需要将几组数据对应的曲线画在一张图上,下面,小编来介绍一下方法

工具/原料

  • MATLAB

方法/步骤

  1. 1

    首先,我们随机产生三组范围不同的数据,数据量都为500,他们的边界分别为[10,15],[23,38],,[38,58]。方法如下:

    x1=10+5*rand(500,1);

    x2=23+15*rand(500,1);

    x3=38+20*rand(500,1);

  2. 2

    下面,我们要分别画出x1,x2,x3对应的曲线,用MATLAB的内置函数plot进行操作,分别用三个plot进行绘图,结果如下:

    plot(x1,'r');

    plot(x2,'b');

    plot(x3,'g');

  3. 3

    可以看到,图中只有一条曲线,并没有其他两条曲线。这是因为后面plot的语句画的图会将前面plot画的图覆盖掉。因此我们需要用一个语句来保留前面所绘制的图,在需要保留的图的后面加一句hold on,即可将该图保留,使它不被后面的图所覆盖,具体语法如下:

    plot(x1,'r');

    hold on

    plot(x2,'b');

    hold on

    plot(x3,'g');

    这样就可以将三条曲线画在一张图上,为了区别,要分别给这三条曲线定义不同的颜色

  4. 4

    为了图的美观,我们可以用grid on添加网格线,还需要添加横纵坐标轴标题。方法如下:

    xlabel('样本序列');

    ylabel('值');

  5. 5

    除此之外,因为我们画的是多条曲线,因此还需要添加图例,语法如下:

    legend('变量1','变量2','变量3')

    括号里面按照画图的顺序分别写每条曲线代表的意义即可

    END

注意事项

  • 最后一个图后面可不用hold on
  • 欢迎大家点赞投票支持我
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论