La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.
En este ejemplo, se muestra cómo combinar gráficas en los mismos ejes utilizando la función hold
y cómo crear varios ejes en una figura con la función tiledlayout
. La función tiledlayout
está disponible a partir de la versión R2019b. Si está utilizando una versión anterior, utilice la función subplot
en su lugar.
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.
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.
Nota: Este código utiliza la función tiledlayout
, que está disponible a partir de la versión R2019b. Si está utilizando una versión anterior, utilice la función subplot
en su lugar.
x = linspace(0,10,50); y1 = sin(x); y2 = rand(50,1); tiledlayout(2,1) % Requires R2019b or later % Top plot nexttile plot(x,y1) title('Plot 1') % Bottom plot nexttile scatter(x,y2) title('Plot 2')
Para crear una gráfica que abarque varias filas o columnas, especifique el argumento span
cuando llame 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) % Requires R2019b or later nexttile plot(x,y1) nexttile scatter(x,y2) % Plot that spans nexttile([1 2]) y2 = rand(50,1); plot(x,y2)
Modifique la apariencia de los ejes estableciendo las propiedades en cada objeto de los ejes. Puede conseguir 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 a 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 por 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) % Requires R2019b or later % 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')
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); % Requires R2019b or later 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';
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); % Requires R2019b or later 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 al establecer 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';
hold
| nexttile
| tiledlayout
| title