How do I add data to multiple figure windows in one loop?
1 次查看(过去 30 天)
显示 更早的评论
I want to make a loop where I plot two different parameters on two different figure windows, such that each iteration of the loop adds one plot to one window and another plot to a second window. For the one plot case I am using
fig4 = figure;
for ii = 1:length(plotmatrixcell)
plot(plotmatrixcell{ii}{2}(:,1),plotmatrixcell{ii}{2}(:,2),'r*')
hold on
end
which plots the data from each loop in the same figure window. I want to have something like this:
fig4 = figure;
fig5 = figure;
for ii = 1:length(plotmatrixcell)
% fig4
plot(plotmatrixcell{ii}{2}(:,1),plotmatrixcell{ii}{2}(:,2),'r*')
xlabel('Distance from VCSEL (mm)')
ylabel('Beam radius (mm)')
hold on
% fig5
currentfit = polyfit(plotmatrixcell{ii}{2}(:,1),plotmatrixcell{ii}{2}(:,2),1);
fitplot = polyval(currentfit, 0:10);
plot(0:10,fitplot,'k.--')
hold on
end
so that the first plot in each iteration is in one figure window and the second plot in each iteration is in a second figure window. How can I do this?
0 个评论
采纳的回答
Rik
2019-4-3
Use explicit handles:
fig4=figure(4);
fig5=figure(5);
%'NextPlot','add' is equivalent to hold('on')
ax4=axes('Parent',fig4,'NextPlot','add');
ax5=axes('Parent',fig5,'NextPlot','add');
for ii = 1:length(plotmatrixcell)
% fig4
plot(plotmatrixcell{ii}{2}(:,1),plotmatrixcell{ii}{2}(:,2),'r*',...
'Parent',ax4)
% fig5
currentfit = polyfit(plotmatrixcell{ii}{2}(:,1),plotmatrixcell{ii}{2}(:,2),1);
fitplot = polyval(currentfit, 0:10);
plot(0:10,fitplot,'k.--',...
'Parent',ax5)
end
xlabel(ax4,'Distance from VCSEL (mm)')
ylabel(ax4,'Beam radius (mm)')
0 个评论
更多回答(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!