I want to open saved .fig files and hold on the same plot. But it always open on a new figure and ignores the hold on function.
Below is code Im using-
for i=1:length(percent)
figaddress = strcat(num2str(percent(i)),'_percent\Pushover_LS.fig');
P_fig(i)= openfig(figaddress,'visible');
hold on
grid off
end

 Akzeptierte Antwort

Devang Bipinchandra Lad
Devang Bipinchandra Lad am 29 Jun. 2022

0 Stimmen

Just found the solution of opening figure and then plotting on the same plot
  1. first open the figure using hgload
  2. Copyobj is used to paste on a newly defined subplot with the same axis property
for i=1:length(percent)
figaddress = strcat(num2str(percent(i)),'_percent\Pushover_LS.fig');
P_fig(i)= hgload(figaddress); % open figure but make sure you don't close them
end
figure()
h=subplot(1,1,1); %define subplot of 1x1
for i=1:length(percent)
copyobj(allchild(get(P_fig(i),'CurrentAxes')),h) %copyobj of each figure on h subplot
end
title('Curve')

Weitere Antworten (1)

DGM
DGM am 28 Jun. 2022

1 Stimme

openfig opens figures
hold toggles properties of axes
It doesn't make sense to try to put a figure inside an axes. Perhaps you meant to use the 'reuse' option for openfig() instead?

3 Kommentare

Walter Roberson
Walter Roberson am 28 Jun. 2022
You cannot merge figures by using hold. You would need to openfig and locate the axes and copyobj the contents of the axes to the output axes. And somehow you would have to decide what the axes limits and tick positions and tick labels and xlabel and ylabel and colormap should be.
Devang Bipinchandra Lad
Devang Bipinchandra Lad am 29 Jun. 2022
The axis limits, tick positions, labels and legends are all same. Only the data is different.
Devang Bipinchandra Lad
Devang Bipinchandra Lad am 29 Jun. 2022
Can I have an example?

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2019b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by