Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Combinar varias gráficas

Puede combinar las gráficas de varias maneras. Combine las gráficas en los mismos ejes o cree varios ejes en una figura utilizando un diseño de gráfica segmentado.

Combinar gráficas en los mismos ejes

De forma predeterminada, las nuevas gráficas eliminan las gráficas existentes y restablecen las propiedades, como por ejemplo el título. Sin embargo, puede utilizar el comando hold on para combinar varias gráficas en los mismos ejes. Por ejemplo, represente dos líneas y un diagrama de dispersión. Después restablezca el estado de permanencia en desactivado.

x = linspace(0,10,50);
y1 = sin(x);
plot(x,y1)
title('Combine Plots')

hold on

y2 = sin(x/2);
plot(x,y2)

y3 = 2*sin(x);
scatter(x,y3) 

hold off

Cuando el estado de permanencia está activado, las nuevas gráficas no eliminan las gráficas existentes o restablecen las propiedades de los ejes, como las etiquetas del eje o de título. Las gráficas vuelven a utilizar los colores y los estilos de línea basados en las propiedades ColorOrder y LineStyleOrder de los ejes. Los límites de los ejes y los valores de marca pueden ajustarse para acomodar los nuevos datos.

Mostrar varios ejes en una figura

Empezando en la versión R2019b, puede mostrar varios ejes en una sola figura utilizando la función tiledlayout. Esta función crea un diseño de gráfica segmentado que contiene una cuadrícula invisible de mosaicos en toda la figura. Cada mosaico contiene un eje para mostrar una grafica. Después de crear un diseño, llame a la función nexttile para colocar un objeto de ejes en el diseño. Después llame a una función de representación que representar en los ejes.

Por ejemplo, cree dos gráficas en un diseño 2 por 1. Agregue un título a cada gráfica.

x = linspace(0,10,50);
y1 = sin(x);
y2 = rand(50,1);
tiledlayout(2,1)

% Top plot
nexttile
plot(x,y1)
title('Plot 1')

% Bottom plot
nexttile
scatter(x,y2)
title('Plot 2')

Crear una gráfica que abarque varias filas y columnas

Para crear una gráfica que abarque varias filas o columnas, especifique el argumento span cuando llame a nexttile. Por ejemplo, cree un diseño de 2 por 2. Represente en los dos primeros mosaicos. Después cree una gráfica que abarque una fila y dos columnas.

x = linspace(0,10,50);
y1 = sin(x);
y2 = rand(50,1);

% Top two plots
tiledlayout(2,2)
nexttile
plot(x,y1)
nexttile
scatter(x,y2)

% Plot that spans
nexttile([1 2])
y2 = rand(50,1);
plot(x,y2)

Modificar el aspecto de los ejes

Modifique la apariencia de los ejes estableciendo las propiedades en cada objeto de los ejes. Puede obtener el objeto de ejes llamando a la función nexttile con un argumento de salida. También puede especificar el objeto de ejes como el primer argumento de entrada de la función gráfica para garantizar que la función se dirige a los ejes correctos.

Por ejemplo, cree dos gráficas y asigne los objetos de ejes a las variables ax1 y ax2. Cambie el tamaño de la fuente de los ejes y el color del eje x para la primera gráfica. Agregue las líneas de cuadrículas a la segunda gráfica.

x = linspace(0,10,50);
y1 = sin(x);
y2 = rand(50,1);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)
title(ax1,'Plot 1')
ax1.FontSize = 14;
ax1.XColor = 'red';

% Bottom plot
ax2 = nexttile;
scatter(ax2,x,y2)
title(ax2,'Plot 2')
grid(ax2,'on')

Controlar el espacio alrededor de los mosaicos

Puede controlar el espacio alrededor de los mosaicos en un diseño especificando las propiedades Padding y TileSpacing. Por ejemplo, muestre cuatro gráficas en un diseño de 2 por 2.

x = linspace(0,30);
y1 = sin(x);
y2 = sin(x/2);
y3 = sin(x/3);
y4 = sin(x/4);

% Create plots
t = tiledlayout(2,2);
nexttile
plot(x,y1)
nexttile
plot(x,y2)
nexttile
plot(x,y3)
nexttile
plot(x,y4)

Reduzca el espacio alrededor del perímetro del diseño y alrededor de cada mosaico estableciendo las prioridades Padding y TileSpacing en 'none'.

t.Padding = 'none';
t.TileSpacing = 'none';

Mostrar etiquetas de eje y título compartidas

Puede mostrar un título y unas etiquetas de eje compartidas en un diseño. Cree un diseño de 2 por 1 t. Después muestre una gráfica de líneas y una gráfica de puntos. Sincronice los límites del eje x llamando a la función linkaxes.

x1 = linspace(0,20,100);
y1 = sin(x1);
x2 = 3:17;
y2 = rand(1,15);

% Create plots.
t = tiledlayout(2,1);
ax1 = nexttile;
plot(ax1,x1,y1)
ax2 = nexttile;
stem(ax2,x2,y2)

% Link the axes
linkaxes([ax1,ax2],'x');

Agregue un título compartido y etiquetas de eje compartidas pasando t a las funciones title, xlabel y ylabel. Acerque las gráficas eliminando las etiquetas de marcas del eje x de la gráfica superior y estableciendo la propiedad TileSpacing de t en 'compact'.

% Add shared title and axis labels
title(t,'My Title')
xlabel(t,'x-values')
ylabel(t,'y-values')

% Move plots closer together
xticklabels(ax1,{})
t.TileSpacing = 'compact';

Consulte también

Funciones

Temas relacionados