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

 Respuesta aceptada

Devang Bipinchandra Lad
Devang Bipinchandra Lad el 29 de Jun. de 2022

0 votos

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')

Más respuestas (1)

DGM
DGM el 28 de Jun. de 2022

1 voto

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 comentarios

Walter Roberson
Walter Roberson el 28 de Jun. de 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 el 29 de Jun. de 2022
The axis limits, tick positions, labels and legends are all same. Only the data is different.
Devang Bipinchandra Lad
Devang Bipinchandra Lad el 29 de Jun. de 2022
Can I have an example?

Iniciar sesión para comentar.

Productos

Versión

R2019b

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by