Matlab画图,添加legend的问题。

Matlab画图,添加legend的问题。,第1张

t=linspace(0,5,100)

x=t.^2%上面是数据

plot(t,x,'-')%为了清除,不加*

hold on%保持

plot(t(1:10:100),x(1:10:100),'*')%每隔10个点加一个*

h=plot(t(1:2),x(1:2),'-*')%专门做一个句柄用于标注,画的就是前两个点

legend(h,'就是这样')

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、下面,要分别画出x1,x2,x3对应的曲线,用MATLAB的内置函数plot进行 *** 作,分别用三个plot进行绘图,结果如下:

plot(x1,'r')

plot(x2,'b')

plot(x3,'g')

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

plot(x1,'r')

holdon

plot(x2,'b')

holdon

plot(x3,'g')

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

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

xlabel('样本序列')

ylabel('值')

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

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

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

6、完成效果图。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11629462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存