Contenido principal

linkaxes

Sincronizar límites de varios ejes

Descripción

linkaxes(ax) sincroniza los límites del vector de ejes especificado. Sincronizar límites permite hacer zoom o desplazarse en una gráfica o figura y mostrar el mismo intervalo de datos en otra gráfica o figura. Cuando se llama por primera vez a linkaxes, la función elige nuevos límites que incluyen los límites actuales de todos los ejes especificados.

ejemplo

linkaxes(ax,dimension) sincroniza los límites de ejes para la dimensión del eje especificada. Por ejemplo, linkaxes(ax,'x') sincroniza únicamente los límites del eje x.

ejemplo

Ejemplos

contraer todo

Muestre un mosaico de gráficas utilizando las funciones tiledlayout y nexttile.

Cree un diseño de gráfica en mosaico de 3 por 1 usando la función tiledlayout. Después, cree los objetos de ejes ax1, ax2 y ax3 usando la función nexttile y represéntelos en cada eje.

tiledlayout(3,1)

% First plot
ax1 = nexttile;
x1 = linspace(0,6);
y1 = sin(x1);
plot(x1,y1)

% Second plot
ax2 = nexttile;
x2 = linspace(0,10);
y2 = 2*sin(2*x2);
plot(x2,y2)

% Third plot
ax3 = nexttile;
x3 = linspace(0,12,200);
y3 = 4*sin(6*x3);
plot(x3,y3)

Figure contains 3 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

Sincronice los límites del eje x y los límites del eje y de cada gráfica. Observe que los nuevos límites de los ejes incluyen los límites antiguos.

linkaxes([ax1 ax2 ax3],'xy')

Figure contains 3 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

Establezca los límites del eje x para la primera gráfica. Todos los ejes están enlazados, de modo que los límites del eje x de la segunda y tercera gráfica también cambian.

ax1.XLim = [0 4.5];

Figure contains 3 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line. Axes object 3 contains an object of type line.

Desplazar o hacer zoom en una de las gráficas muestra el mismo intervalo de datos en las otras dos gráficas.

Para eliminar el enlace, use linkaxes([ax1 ax2 ax3],'off').

Sincronice y modifique los límites del eje x de varios objetos de ejes usando la función linkaxes.

Muestre un mosaico de gráficas utilizando las funciones tiledlayout y nexttile. Cree un diseño de gráfica en mosaico de 2 por 1 usando la función tiledlayout. Después, cree los objetos de ejes ax1 y ax2 usando la función nexttile y represéntelos en cada eje.

t = tiledlayout(2,1);

% First plot
ax1 = nexttile;
p1 = peaks;
surf(ax1,p1);
view(3)

% Second plot
ax2 = nexttile;
p2 = peaks(25);
mesh(ax2,p2)

Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

Sincronice los límites del eje x para los dos objetos de ejes. Los límites del eje x para los objetos de ejes recién enlazados se actualizarán para abarcar todos los datos.

linkaxes([ax1 ax2],'x');

Actualice los límites del eje x para todos los objetos de ejes enlazados estableciendo los límites del eje x solo para uno de los objetos de ejes.

ax1.XLim = [0 15];
ax2.XLim
ans = 1×2

     0    15

Elimine el enlace desactivando la sincronización.

linkaxes([ax1 ax2],'off');

Figure contains 2 axes objects. Axes object 1 contains an object of type surface. Axes object 2 contains an object of type surface.

Cuando compare dos gráficas de valores de fecha/hora en diferentes zonas horarias, establezca la propiedad ReferenceDate de una de las reglas, de modo que ambas gráficas reflejen la misma zona horaria.

Cree un mosaico de dos gráficas que comparan el número de personas que celebraron el Año Nuevo en Londres y Nueva York el 1 de enero de 2021. Comience representando los datos de London en el primer mosaico. De forma predeterminada, la gráfica usa la zona horaria de los datos.

London = datetime(2021,1,1,0:17,0,0,"TimeZone","Europe/London");
y = (1./(1:18).^2) * 100000;
ax1 = nexttile;
semilogy(ax1,London,y)
grid on
title("New Year's Day Revelers in London")

Figure contains an axes object. The axes object with title New Year's Day Revelers in London contains an object of type line.

Represente los datos de NY. Esta segunda gráfica está en la zona horaria de Nueva York, de modo que no se puede comparar con precisión el número de personas que celebraron el Año Nuevo en ambas ubicaciones en el mismo momento mediante inspección visual.

NY = datetime(2021,1,1,0:17,0,0,"TimeZone","America/New_York");
ax2 = nexttile;
semilogy(ax2,NY,y)
grid on
title("New Year's Day Revelers in New York")

Figure contains 2 axes objects. Axes object 1 with title New Year's Day Revelers in London contains an object of type line. Axes object 2 with title New Year's Day Revelers in New York contains an object of type line.

Cambie la zona horaria de la gráfica de Nueva York estableciendo la fecha de referencia del eje x en un valor fecha/hora de la zona horaria de "Europe/London". Después, enlace los dos ejes. Como resultado, ambas gráficas reflejan la misma zona horaria.

ax2.XAxis.ReferenceDate = datetime(2022,1,1,"TimeZone","Europe/London");
linkaxes([ax1,ax2],"x")

Figure contains 2 axes objects. Axes object 1 with title New Year's Day Revelers in London contains an object of type line. Axes object 2 with title New Year's Day Revelers in New York contains an object of type line.

Argumentos de entrada

contraer todo

Ejes objetivo, especificados como vector de objetos Axes.

Puede enlazar cualquier número de objetos Axes. Por ejemplo, linkaxes([ax1 ax2 ax3]) enlaza ax1, ax2 y ax3. Realizar llamadas separadas a linkaxes([ax1 ax2]) y linkaxes([ax2 ax3]) cancela el enlace entre ax1 y ax2.

Límites de ejes que se desean sincronizar, especificados como uno de estos valores:

  • 'xyz': sincroniza los límites del eje x, del eje y y del eje z.

  • 'x': sincroniza solo los límites del eje x.

  • 'y': sincroniza solo los límites del eje y.

  • 'z': sincroniza solo los límites del eje z.

  • 'xy': sincroniza solo los límites del eje x y del eje y.

  • 'xz': sincroniza solo los límites del eje x y del eje z.

  • 'yz': sincroniza solo los límites del eje y y del eje z.

  • 'off': desactiva la sincronización.

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

| | |