如何用matlab画道路,MATLAB中如何将多条曲线画在一张图上

在用MATLAB处理数据时,有时候,为了几组不同数据之间的对比,我们需要将几组数据对应的曲线画在一张图上,该怎么处理呢?

首先,我们随机产生三组范围不同的数据,数据量都为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);

fc0b8037bdeb4d1b8ebca1517f7eaac8.png

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

plot(x1,'r');

plot(x2,'b');

plot(x3,'g');

aca35097e1fdecebe43bb6f114d1b301.png

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

plot(x1,'r');

hold on

plot(x2,'b');

hold on

plot(x3,'g');

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

a82028d463df6c3d0a374f6d3ab12477.png

c3b8595039da0cd5f8222ef42cfd4e4a.png

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

xlabel('样本序列');

ylabel('值');

beb6e03755607bdec8fa4f556ae73862.png

3e1e38b42a5543e744d7d4cb64585198.png

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

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

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

0d54c1ab1080a6593afd1f8acd41f611.png

759afe158982d7770e5e0e1365af6102.png

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

收藏 | 0点赞 | 0打赏作者