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?

采纳的回答

Rik
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 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by