Saving full screen multiple figures

Hello,
I have four files with ten columns of data. They have common x-axis, array of t.
I am plotting them using for loop
The code looks something like below;
For i=1:10
figure(1)
handle1(i)=plot(t(:,1), File1(:,i));
Legend1{i}=sprintf('Run number: %d',i);
hold on
figure(2)
handle1(i)=plot(t(:,1), File2(:,i));
Legend2{i}=sprintf('Run number: %d',i);
hold on
figure(3)
handle3(i)=plot(t(:,1), File3(:,i));
Legend3{i}=sprintf('Run number: %d',i);
hold on
figure(4)
handle4(i)=plot(t(:,1), File4(:,i));
Legend4{i}=sprintf('Run number: %d',i);
hold on
end
legend(handle1,Legend1, ‘location’, ‘northwestoutside’);
legend(handle2,Legend2, ‘location’, ‘northwestoutside’);
legend(handle2,Legend2, ‘location’, ‘northwestoutside’);
legend(handle2,Legend2, ‘location’, ‘northwestoutside’);
Now, saving figure after legend will reduce the figure aspect ratio. I would like to save figure in full-screen mode.
i.e.saveas(figure(2), ‘Figure2.tiff’,’Tiff’);
I did some search and found the following code
FigH = figure('Position', get(0, 'Screensize'));
F = getframe(FigH);
I am unable to figure out as to how I can incorporate figure number inside above-mentioned command. i.e. inside figure(‘position’, get(0,’Screensize’))
I am learning matlab now. I also welcome any additional comment on the code itself.

2 Comments

Are you trying to save 40 figures? Or 4 or 10?
4 figures in total. Each will have 10 lines.

Sign in to comment.

 Accepted Answer

Try this:
clear all;
close all;
clc;
format long g;
format compact;
fontSize = 18;
fprintf('Beginning to run %s.m ...\n', mfilename);
% Create sample data.
File1 = rand(5, 10);
File2 = rand(5, 10);
File3 = rand(5, 10);
File4 = rand(5, 10);
t = rand(5, 10);
handle1 = figure;
handle2 = figure;
handle3 = figure;
handle4 = figure;
plotColors = jet(10);
for k=1:10
thisColor = plotColors(k, :);
figure(handle1)
plot(t(:,1), File1(:,k), '-', 'Color', thisColor);
legendStrings{k}=sprintf('Run number: %d',k);
hold on
figure(handle2)
plot(t(:,1), File2(:,k), '-', 'Color', thisColor);
hold on
figure(handle3)
plot(t(:,1), File3(:,k), '-', 'Color', thisColor);
hold on
figure(handle4)
plot(t(:,1), File4(:,k), '-', 'Color', thisColor);
hold on
end
figure(handle1);
legend(legendStrings, 'location', 'northwestoutside');
exportgraphics(handle1, 'Plot1.png'); % Save figure to disk.
figure(handle2);
legend(legendStrings, 'location', 'northwestoutside');
exportgraphics(handle1, 'Plot2.png'); % Save figure to disk.
figure(handle3);
legend(legendStrings, 'location', 'northwestoutside');
exportgraphics(handle1, 'Plot3.png'); % Save figure to disk.
figure(handle4);
legend(legendStrings, 'location', 'northwestoutside');
exportgraphics(handle1, 'Plot4.png'); % Save figure to disk.
% You can maximize each one before saving if you want, like this:
g = gcf;
g.WindowState = 'maximized';
fprintf('Done running %s.m.\n', mfilename);

2 Comments

Thanks. Just a note: I used saveas(gcf,..) instead of exportgraphics as I was getting error with it.
exportgraphics() only started with r2020a.

Sign in to comment.

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!