Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
rikki
rikki le 10 Avr 2018
Modifié(e) : rikki le 11 Avr 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 commentaires
rikki
rikki le 10 Avr 2018
yes all individual images and format should be png
Pawel Jastrzebski
Pawel Jastrzebski le 10 Avr 2018
What sort of modification do you wan to carry out on the .png graph in Matlab?

Connectez-vous pour commenter.

Réponses (1)

Pawel Jastrzebski
Pawel Jastrzebski le 10 Avr 2018
Modifié(e) : Pawel Jastrzebski le 10 Avr 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 commentaire
rikki
rikki le 11 Avr 2018
Modifié(e) : rikki le 11 Avr 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

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by