matlab plot zoom

MATLAB-¿Cómo hacer zoom de subparcelas juntas?



plot (3)

Tengo múltiples subtramas en una figura. El eje X de cada trazado es la misma variable (tiempo). El eje Y en cada trama es diferente (tanto en lo que representa como en la magnitud de los datos).

Me gustaría una forma de acercar la escala de tiempo en todos los gráficos simultáneamente. Lo ideal sería utilizar la herramienta de zoom rectangular en uno de los trazados y hacer que los otros trazados cambien sus límites X en consecuencia. Los límites Y deben permanecer sin cambios para todo esto. Ajustar automáticamente los datos para completar el trazado en la dirección Y es aceptable.

(Esta pregunta es casi idéntica a la pregunta de desbordamiento de pila Matplotlib / Pyplot: ¿Cómo hacer zoom de subparcelas juntas? (A excepción de MATLAB ))


Para vincular un par de figuras con linkaxes use:

figure;imagesc(data1); f1h=findobj(gcf,,’type’,’axes’) figure;imagesc(data2); f2h=findobj(gcf,,’type’,’axes’) linkaxes([f1h,f2h],’xy’)


Use linkaxes como Yair y Amro ya sugirieron. A continuación se muestra un ejemplo rápido para su caso

ha(1) = subplot(2,1,1); % get the axes handle when you create the subplot plot([1:10]); % Plot random stuff here as an example ha(2) = subplot(2,1,2); % get the axes handle when you create the subplot plot([1:10]+10); % Plot random stuff here as an example linkaxes(ha, ''x''); % Link all axes in x

Debería poder hacer zoom en todas las subparcetas simultáneamente

Si hay muchas subtramas, y recoger el mango de sus ejes uno por uno no parece una forma inteligente de hacer el trabajo, puede encontrar todos los manejadores de los ejes en el manejador de figura dado mediante los siguientes comandos

figure_handle = figure; subplot(2,1,1); plot([1:10]); subplot(2,1,2); plot([1:10]+10); % find all axes handle of type ''axes'' and empty tag all_ha = findobj( figure_handle, ''type'', ''axes'', ''tag'', '''' ); linkaxes( all_ha, ''x'' );

La primera línea encuentra todos los objetos bajo figure_handle de tipo "ejes" y etiqueta vacía (''''). La condición de la etiqueta vacía es excluir los controladores del hacha de las leyendas, cuya etiqueta será legend .

Puede haber otros objetos de ejes en su figura si es más que una simple trama. En tal caso, debe agregar más condiciones para identificar los controladores de los ejes de los gráficos que le interesan.


Use la función linkaxes incorporada de la siguiente manera:

linkaxes([hAxes1,hAxes2,hAxes3], ''x'');

Para enlaces más avanzados (no solo los ejes xoy), use la función linkprop incorporada