matlab中有多个for循环,画图

有多个for循环,每个for循环里面还有几个for循环,但是只有最外面的for有图形输出,请问怎么注释每个for循环画出的图形?用legend可以吗?

标注用元胞数组,可以用for循环产生,直接使用命令legend(元胞数组)

x=linspace(0,2*pi,10)
for ii=1:3
lgstr=cell(1,3)
for jj=1:3
y(:,jj)=jj*sin(x)
lgstr{jj}=num2str(jj)
end
subplot(3,1,ii);plot(x',y)
legend(lgstr)
end追问

是互无关联的几个for语句,分别有画出图形的,就是说这些图形都画在一个figure上,问怎么分别注释这些不同的图形

追答

理解的不清楚:请问怎么注释每个for循环画出的图形?什么意思?每画一条曲线(在新图?还是同一个图?)注释一次?

追问

每个for画出来的是点,我的程序一共有3个for循环画出三种点,每种点都有好几个,我想用legend注释每一种点,但是因为第一个for就能画出好几个点,因此3个注释出来的都是同一种点,就是说我注释的名字不一样,但是图形都是同一种,因为legend是依据绘图的先后顺序,依据输出字符串对各个图形进行注释说明。所以我不知道该怎么注释这三种图形

追答

每个for画出来的是点---是指你的曲线是单点的?也就是说,你总共画出了很多条单点曲线?只是标记类型只有三种,比如□、◇、○三种,,但具有一种点型的其实不是matlab认为的一条曲线上?

说实在很迷糊,没代码,不知道你要做什么

追问

画出来是这样的图,蓝色圆圈表示的是一个for语句中画出来的,红色*是第二个for里面画出来的,绿色*是第三个for画出来的,我想注释一下三种颜色的图形表示什么,可以实现吗?

追答

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

追问

追答

那么得用句柄,改为
蓝线:p1=plot...
红线:p2=plot...
绿线:p3=plot...
legend([p1,p2,p3,'1','2','3'])

p1=plot(1,1,'bo')
hold on;
p1=plot(1,1.5,'bo')
p2=plot(2,2,'r*')
p2=plot(2,1.5,'r*')
p3=plot(3,3,'g*')
p3=plot(3,3.5,'g*')
legend([p1,p2,p3],'1','2','3')

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答