PDA

查看完整版本 : [求助]如何在figure中同时输出两条线?


nillgump
2008-11-09, 19:27
我们知道每当matlab启动的时候会自动的生成一个figure对象和一个axes对象.
这是你就可以直接在命令行中输入
>>a=[20:40];
>>plot(a,a);%会显示出一条线a出来
>>b=[30,50];
>>plot(b,b);%又会显示一条线b出来
但是线b会把线a给盖住.
或者是运行太快,我们只可以看到线b出来.
我的问题是如何在同一个坐标轴中同时显示多条线?显然要使用关于子对象之类的东西。parent,children之类的,但是如何做呢。我搞了几遍了,无法成功呀。
下面是my code:

%1.得到系统提供的提一个坐标轴对象
H_axes_1=gca;
%2.设置坐标对象的属性;

%2.注册所有的圆对象和线对象到H_axes_1上;

ha=plot([20:1:30],[20:1:30]);
hb=plot([30:50],[30:50]);
set(H_axes_1,'Children',[ha,hb]);%是不是这里我的参数给错了。

anbcjys
2008-11-10, 08:17
一个图出来后,输入hold on 然后第二个图。如果不想画到一个图上 hold off

纽纽和瓜瓜
2008-11-14, 21:06
a=20:40;
plot(a,a);
b=30:50;
hold on
plot(b,b,'r*');
hold of
第一条直线和第二条直线是相同斜率的,如果设置成同样的输出模式就会看不出来,以为第二条把第一条覆盖了。使用hold on和hold off在同一个图中输出多条直线,设置第二条直线输出为“*”形式。这样就可以看出来了

ak47998
2008-11-24, 19:48
非常感谢!学习中!

zongkui
2008-11-29, 11:18
同意,继续加油