Do figures have to be active to add plots to them?
2 次查看(过去 30 天)
显示 更早的评论
Hi Guys, This is the situation, I create 4 fill plots using and return there respective axis handles using:
figure('OuterPosition',[1 scrsz(4)/2 scrsz(3)/2 scrsz(4)/2])
SpecH = myFill(f1,specMat,'Frequency Spectrum');
figure('OuterPosition',[scrsz(3)/2 scrsz(4)/2 scrsz(3)/2 scrsz(4)/2])
AvgH = myFill(f2,bandAVGsMat,'Band Average');
figure('OuterPosition',[1 scrsz(4)/36 scrsz(3)/2 scrsz(4)/2])
VarH = myFill(f2,bandVarsMat,'Band Variance');
figure('OuterPosition',[scrsz(3)/2 scrsz(4)/36 scrsz(3)/2 scrsz(4)/2])
PwrH = myFill(f2,pwr2ResMat,'Band Power ratio to the fundermental');
I then wish to put a new line on each fill plot as I pass through a loop. I do this using:
hold on
plot(SpecH,f1,dataStoreT(i,:),'g','LineWidth',2)
plot(AvgH,f2,bandAVGsT,'g','LineWidth',2)
plot(VarH,f2,bandVarsT,'g','LineWidth',2)
plot(PwrH,f2,pwr2ResT,'g','LineWidth',2)
hold off
When I run this; one of the plots, the one which is currently active, adds the line no problem. BUT the other three clear the "fill" type plots and just plot the line. I have noticed that this clearing of the old lines only happens to the plots which are not active (and also the active plot seems to always be the second to last one plotted?!..)
So my question is: How do I activate a plot before adding the line and is this necessary or is there some workaround?
Thanks in advance.
Kind Regards,
Tim.
0 个评论
采纳的回答
Walter Roberson
2012-9-25
The difficulty you are encountering is that "hold on" applies to the current axes, not to all axes.
4 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!