Mi programa produce pequeñas figuras durante el ciclo de comando. ¿Hay alguna forma de guardar estas cifras y luego combinarlas en una figura más adelante?Producir subtramas y luego combinarlas en una figura posterior en MATLAB
Respuesta
Considere el código:
hFig = figure;
%# create temporary subplots as template
for i=1:2, h(i) = subplot(2,1,i); end %# create subplots
pos = get(h, 'Position'); %# record their positions
delete(h) %# delete them
%# load the .fig files inside the new figure
fileNames = {'a.fig' 'b.fig'}; %# saved *.fig file names
for i=1:2
%# load fig
hFigFile = hgload(fileNames{i});
%# move/copy axis from old fig to new fig
hAx = get(hFigFile, 'Child'); %# hAx = gca;
set(hAx, 'Parent',hFig)
%#hAx = copyobj(hAx,hFig);
%# resize it to match subplot position
set(hAx, 'Position',pos{i});
%# delete old fig
delete(hFigFile)
end
Esta es una adaptación de esta newsgroup discussion
tengo una respuesta aquí como un ejemplo:
h1 = figure(1)
plot(1:10,'o-r');
title('title');
xlabel('xlabel');
ylabel('ylabel');
% Copy contents
ch(1) = copyobj(gca,gcf);
% Figure 2
h2 = figure(2)
plot(1:30,'o-r');
title('title fig2');
xlabel('xlabel');
ylabel('ylabel');
% copy contents
ch(2) = copyobj(gca,gcf);
figure(3)
sh = subplot(1,2,1);
clear axes
p = get(sh,'position');
ah = copyobj(ch(1),gcf);
set(ah,'position',p);
% Create axis template
sh = subplot(1,2,2);
clear axes
p = get(sh,'position');
ah = copyobj(ch(2),gcf);
set(ah,'position',p);
% Delete template
% delete(sh);
Amro's solution obras en gran medida, pero con gráficos de caja que tiene para restablecer las etiquetas Xtick y Xtick; de lo contrario, por alguna razón, no se redimensionarán según la subtrama. Al crear el diagrama de caja o después de la apertura de la figura complemento:
set(gca,'XTick',<1d vector>,'XTickLabel',<1d cell vector>)
o poner garrapatas automáticas y etiquetas
set(gca,'XTickMode','auto','XTickLabelMode','auto')
interesante, gracias por compartir. ¿Intentó copiar en lugar de mover ejes (la línea comentada en mi código) ?. Para ser sincero, mi solución no está exenta de defectos; por ejemplo, fallaría si las figuras tuvieran diferentes mapas de color (a menos que tome el [esfuerzo extra] (http://www.mathworks.com/support/solutions/en/data/1-GNRWEH/index.html) para evitar ese) – Amro
- 1. MATLAB - ¿Cómo acercar las subtramas?
- 2. ¿Cómo crear una nueva figura en MATLAB?
- 3. MATLAB: imprima una figura en pdf como la figura que se muestra en MATLAB
- 4. Cómo reducir los bordes alrededor de las subtramas en matlab?
- 5. MATLAB: fuentes de figura
- 6. Escriba una figura en un archivo automáticamente en MATLAB
- 7. Producir matriz 2D de una matriz 1D en MATLAB
- 8. Copiar figura en Matlab - con propiedades e información
- 9. Expresiones Lambda y cómo combinarlas?
- 10. cómo exportar la figura a color eps en matlab
- 11. Matlab figura de ahorro con tamaño predefinido
- 12. Comportamiento extraño en Matlab al exportar figura a eps, pdf
- 13. Obtiene el título de la figura actual en MATLAB?
- 14. MATLAB: ¿Cambiar las propiedades de línea de una figura cargada?
- 15. Múltiples gráficas en una figura
- 16. Mejore el tamaño/espaciado de las subtramas con muchas subtramas en matplotlib
- 17. python y actualizar figura en matplotlib
- 18. matplotlib - subtramas con relación de aspecto fija
- 19. Subtramas de tamaño diferente de Matplotlib
- 20. crecer mediante programación una figura en matplotlib
- 21. Cuadro delimitador estrecho alrededor de PDF de MATLAB figura
- 22. MATLAB, rellenando el área entre dos conjuntos de datos, líneas en una figura
- 23. En matlab, ¿cómo se guarda una figura como imagen de la misma manera que usando "Guardar como ..." en la ventana de la figura?
- 24. Dibujar línea entre dos subtramas
- 25. Matplotlib: Reposicionando una subparcela en una grilla de subtramas
- 26. dibujar un borde alrededor de las subtramas en matplotlib
- 27. Guardar la figura de MATLAB con diferente color de fondo
- 28. Matlab en Linux (Ubuntu 11.10) no muestra Unicode (hebreo) en la figura de trama
- 29. Matlab agregar texto al exterior de la figura
- 30. ¿cómo hago una sola leyenda para muchas subtramas con matplotlib?
increíble, realmente muy bueno. Muchas gracias, esto ahorra mucho dolor. – Vass
y el enlace a la discusión del grupo de noticias es útil – Vass