how to save 120 figures in a folder defined by user and later retrieve it?

2 Ansichten (letzte 30 Tage)
rikki
rikki am 10 Apr. 2018
Bearbeitet: rikki am 11 Apr. 2018
i have to save all 120 subfigures and then later read it again to apply modification and i have to make it sure that figures dont overlap each other .suggest some code i am new to this MATLAB
help would be appreciated
  4 Kommentare
rikki
rikki am 10 Apr. 2018
yes all individual images and format should be png
Pawel Jastrzebski
Pawel Jastrzebski am 10 Apr. 2018
What sort of modification do you wan to carry out on the .png graph in Matlab?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Pawel Jastrzebski
Pawel Jastrzebski am 10 Apr. 2018
Bearbeitet: Pawel Jastrzebski am 10 Apr. 2018
When you say 120-off figures:
  • Are these matlab figures .fig?
Also, see the code below that was used to create what is known as a matlab subplot . In this example I've created a grid of 32 subplots and it's barely readable.
  • Are you sure you want to use a subplot for all of the 120 figures?
  • Or 120 figures to be plotted in one graph?
NrOfSubPlots = 32;
PlotGridX = 8;
PlotGgridY = NrOfSubPlots/PlotGridX;
f(1) = figure;
%first plot
subplot(PlotGridX,PlotGgridY,1);
scatter(rand([1,10]),rand([1,10]));
hold on
for i=2:NrOfSubPlots
subplot(PlotGridX,PlotGgridY,i);
scatter(rand([1,10]),rand([1,10]));
end
savefig(f(1),'32plots.fig')
Output:
The code below shows how to save figures to a .fig file and the read them back to Matlab and to the subplot:
% create plots
NrOfSubPlots = 10;
for i=1:NrOfSubPlots
f(i) = figure;
scatter(rand([1,10]),rand([1,10]));
name = ['fig' num2str(i) '.fig']
savefig(f(i),name)
end
close(f)
clear f i name;
% this line checks how many .figs are in the current folder
% DIR returns a structure.
FigsInTheFolder = dir('*.fig');
HowMany = numel(FigsInTheFolder);
% load the figuers back to matlab
newF = figure;
for i = 1:HowMany
newF(i) = openfig(FigsInTheFolder(i).name,'invisible');
end
% subplot all figs
showF = figure;
for i = 1:HowMany
h(i) = subplot(1,HowMany,i);
copyobj(allchild(get(newF(i),'CurrentAxes')),h(i));
end
  1 Kommentar
rikki
rikki am 11 Apr. 2018
Bearbeitet: rikki am 11 Apr. 2018
suppose in a folder u have 10 images r ...can u please tell how to read this folder and then display all sub images in 1 figure window without overlapping

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by