Crear ejes en posiciones segmentadas
contraer todo en la página
Sintaxis
subplot(m,n,p)
subplot(m,n,p,'replace')
subplot(m,n,p,'align')
subplot(m,n,p,ax)
subplot('Position',pos)
subplot(___,Name,Value)
ax = subplot(___)
subplot(ax)
Descripción
ejemplo
Nota
Se recomienda usar tiledlayout en lugar de subplot
porque permite crear capas con espaciado ajustable entre los mosaicos, mosaicos que se pueden reordenar en función del tamaño de la figura y barras de colores y leyendas mejor ubicadas. (desde R2019b)
subplot(m,n,p)
divide la figura actual en una cuadrícula de m
por n
y crea ejes en la posición que especifica p
. MATLAB® numera las posiciones de subgráfica por fila. La primera subgráfica es la primera columna de la primera fila, la segunda subgráfica es la segunda columna de la primera fila y así sucesivamente. Si hay ejes en la posición especificada, este comando convierte los ejes en los ejes actuales.
ejemplo
subplot(m,n,p,
elimina los ejes existentes en la posición 'replace'
)p
y crea ejes nuevos.
subplot(m,n,p,
crea ejes nuevos, para que los cuadros de la gráfica queden alineados. Esta opción es el comportamiento predeterminado.'align'
)
ejemplo
subplot(m,n,p,ax)
convierte los ejes existentes, ax
, en una subgráfica en la misma figura.
ejemplo
subplot(
crea ejes en la posición personalizada que especifica 'Position'
,pos)pos
. Utilice esta opción para posicionar una subgráfica que no se alinea con las posiciones de la cuadrícula. Especifique pos
como vector de cuatroelementos con el formato [left bottom width height]
. Si los ejes nuevos se solapan con los ejes existentes, los nuevos sustituyen a los existentes.
subplot(___,Name,Value)
modifica las propiedades de los ejes utilizando uno o más argumentos de par nombre-valor. Establezca las propiedades de los ejes después de todos los demás argumentos de entrada.
ejemplo
ax = subplot(___)
crea un objeto Axes
, un objeto PolarAxes
o un objeto GeographicAxes
. Utilice ax
para realizar futuras modificaciones en los ejes.
ejemplo
subplot(ax)
convierte los ejes que especifica ax
en los ejes actuales de la figura principal. Esta opción no convierte la figura principal en la figura actual si no lo es ya.
Ejemplos
contraer todo
Subgráficas inferior y superior
Abrir script en vivo
Cree una figura con dossubgráficas apiladas. Represente una onda sinusoidal en cada una de ellas.
subplot(2,1,1);x = linspace(0,10);y1 = sin(x);plot(x,y1)subplot(2,1,2); y2 = sin(5*x);plot(x,y2)
Cuadrante de subgráficas
Cree una figura dividida en cuatrosubgráficas. Represente una onda sinusoidal en cada una de ellas y titúlelas.
subplot(2,2,1)x = linspace(0,10);y1 = sin(x);plot(x,y1)title('Subplot 1: sin(x)')subplot(2,2,2)y2 = sin(2*x);plot(x,y2)title('Subplot 2: sin(2x)')subplot(2,2,3)y3 = sin(4*x);plot(x,y3)title('Subplot 3: sin(4x)')subplot(2,2,4)y4 = sin(8*x);plot(x,y4)title('Subplot 4: sin(8x)')
Subgráficas con distintos tamaños
Abrir script en vivo
Cree una figura que contenga tressubgráficas. Cree dossubgráficas en la mitad superior de la figura y una tercera subgráfica que abarque la mitad inferior de la figura. Añada un título a cada subgráfica.
subplot(2,2,1);x = linspace(-3.8,3.8);y_cos = cos(x);plot(x,y_cos);title('Subplot 1: Cosine')subplot(2,2,2);y_poly = 1 - x.^2./2 + x.^4./24;plot(x,y_poly,'g');title('Subplot 2: Polynomial')subplot(2,2,[3,4]);plot(x,y_cos,'b',x,y_poly,'g');title('Subplot 3 and 4: Both')
Sustituir una subgráfica por ejes vacíos
Abrir script en vivo
Cree una figura con cuatrográficas de puntos de datos aleatorios. Después, sustituya la segunda subgráfica por ejes vacíos.
for k = 1:4 data = rand(1,10); subplot(2,2,k) stem(data)end
subplot(2,2,2,'replace')
Subgráficas en posiciones personalizadas
Abrir script en vivo
Cree una figura con dossubgráficas que no estén alineadas con posiciones de cuadrícula. Especifique una posición personalizada para cada subgráfica.
pos1 = [0.1 0.3 0.3 0.3];subplot('Position',pos1)y = magic(4);plot(y)title('First Subplot')pos2 = [0.5 0.15 0.4 0.7];subplot('Position',pos2)bar(y)title('Second Subplot')
Crear subgráficas con ejes polares
Abrir script en vivo
Cree una figura con dosejes polares. Cree una gráfica de líneas polares en la subgráfica superior y una gráfica de dispersión polar en la subgráfica inferior.
figureax1 = subplot(2,1,1,polaraxes);theta = linspace(0,2*pi,50);rho = sin(theta).*cos(theta);polarplot(ax1,theta,rho)ax2 = subplot(2,1,2,polaraxes);polarscatter(ax2,theta,rho)
Modificar las propiedades de los ejes después de crearlos
Abrir script en vivo
Cree una figura con dossubgráficas. Asigne los objetos Axes
a las variables ax1
y ax2
. Especifique los objetos Axes
como entradas de las funciones de representación para garantizar que las funciones se representen en una subgráfica específica.
ax1 = subplot(2,1,1);Z = peaks;plot(ax1,Z(1:20,:))ax2 = subplot(2,1,2); plot(ax2,Z)
Modifique los ejes estableciendo las propiedades de los objetos Axes
. Cambie el tamaño de la fuente de la subgráfica superior y el ancho de línea de la gráfica inferior. Algunas funciones de representación establecen las propiedades de los ejes. Ejecute las funciones de representación antes de especificar las propiedades de los ejes, a fin de evitar que se reemplacen ajustes de propiedades de los ejes ya existentes. Utilice la notación de puntos para establecer las propiedades.
ax1.FontSize = 15;ax2.LineWidth = 2;
Convertir una subgráfica en los ejes actuales
Abrir script en vivo
Cree una figura con múltiplessubgráficas. Guarde los objetos Axes
del vector ax
. Después, convierta la segunda subgráfica en los ejes actuales. Cree una gráfica de líneas y cambie los límites del eje de la segunda subgráfica. De forma predeterminada, las funciones de las gráficas afectan a los ejes actuales.
for k = 1:4 ax(k) = subplot(2,2,k);endsubplot(ax(2))x = linspace(1,50);y = sin(x);plot(x,y,'Color',[0.1, 0.5, 0.1])title('Second Subplot')axis([0 50 -1 1])
Convertir los ejes existentes en una subgráfica
Abrir script en vivo
Cree una gráfica de líneas. Después, convierta los ejes para que sean la subgráfica inferior de la figura. La función de subgráfica utiliza la figura en la que se encontraban los ejes originales.
x = linspace(1,10);y = sin(x);plot(x,y)title('Sine Plot')
ax = gca;subplot(2,1,2,ax)
Convertir los ejes de distintas figuras en subgráficas
Combine los ejes que se encuentran en distintas figuras en una única figura con subgráficas.
Cree dosgráficas en dosfiguras. Asigne los objetos Axes
a las variables ax1
y ax2
. Asigne el objeto Legend
a la variable lgd
.
figurex = linspace(0,10);y1 = sin(x);plot(x,y1)title('Line Plot 1')ax1 = gca;
figurey2 = 2*sin(x);plot(x,y2)title('Line Plot 2')lgd = legend('2*Sin(x)');ax2 = gca;
Cree copias de los dos objetos Axes
utilizando copyobj
. Especifique los elementos principales de los ejes copiados como figura nueva. Puesto que las leyendas y las barras de colores no se copian con los ejes asociados, copie la leyenda con los ejes.
fnew = figure;ax1_copy = copyobj(ax1,fnew);subplot(2,1,1,ax1_copy)copies = copyobj([ax2,lgd],fnew);ax2_copy = copies(1);subplot(2,1,2,ax2_copy)
Argumentos de entrada
contraer todo
m
— Número de filas de cuadrícula
1 (predeterminado) | entero positivo
Número de filas de cuadrícula, especificado como escalar entero positivo.
Tipos de datos: single
| double
n
— Número de columnas de cuadrícula
1 (predeterminado) | entero positivo
Número de columnas de cuadrícula, especificado como entero positivo.
Tipos de datos: single
| double
p
— Posición de cuadrícula para ejes nuevos
escalar | vector
Posición de cuadrículas para los ejes nuevos, especificada como escalar o vector de enteros positivos.
Si
p
es un entero positivo escalar,subplot
crea una subgráfica en la posición de cuadrículap
.Si
p
es un vector de enteros positivos,subplot
crea una subgráfica que abarca las posiciones de cuadrícula que se enumeran enp
.
Ejemplo: subplot(2,3,1)
crea una subgráfica en la posición1.
Ejemplo: subplot(2,3,[2,5])
crea una subgráfica que abarca las posiciones2 y 5.
Ejemplo: subplot(2,3,[2,6])
crea una subgráfica que abarca las posiciones2, 3, 5 y 6.
Tipos de datos: single
| double
pos
— Posición personalizada para los ejes nuevos
vector de cuatroelementos
Posición personalizada para los ejes nuevos, especificada como vector de cuatroelementos con el formato [left bottom width height]
.
Los elementos
left
ybottom
especifican la posición de la esquina inferior izquierda de la subgráfica con respecto a la esquina inferior izquierda de la figura.Los elementos
width
yheight
especifican las dimensiones de la subgráfica.
Especifique los valores entre 0
y 1
que estén normalizados con respecto al interior de la figura.
Nota
Cuando se utiliza un script para crear subgráficas, MATLAB no finaliza el valor de propiedad Position
hasta que se emite un comando drawnow
o hasta que MATLAB vuelve a esperar un comando del usuario. El valor de propiedad Position
de una subgráfica está sujeto a cambios hasta que el script actualice la gráfica o se cierre.
Ejemplo: subplot('Position',[0.1 0.1 0.45 0.45])
Tipos de datos: single
| double
ax
— Ejes existentes que convertir en los actuales o convertir a una subgráfica
objeto Axes
| objeto PolarAxes
| objeto GeographicAxes
| objeto de gráficas
Ejes existentes que convertir en los actuales o convertir a una subgráfica, especificados como objeto Axes
, objeto PolarAxes
, objeto GeographicAxes
u objeto de gráficas con una propiedad PositionConstraint
, tal como un objeto HeatmapChart
.
Para crear ejes polares o geográficos vacíos en una posición de subgráfica, especifique ax
como la función polaraxes o geoaxes. Por ejemplo, subplot(2,1,2,polaraxes)
.
Argumentos de par nombre-valor
Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.
En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: subplot(m,n,p,'XGrid','on')
Algunas funciones de representación reemplazan los ajustes de propiedades. Considere establecer las propiedades de los ejes después de representar. Las propiedades que puede establecer dependen del tipo de ejes:
Para ejes cartesianos, consulte Axes Properties.
Para ejes polares, consulte PolarAxes Properties.
Para ejes geográficos, consulte GeographicAxes Properties.
Sugerencias
Para borrar el contenido de la figura, utilice
clf
. Por ejemplo, puede borrar el diseño de subgráfica existente de la figura antes de crear un diseño de subgráfica nuevo.Para solapar ejes, utilice en su lugar el comando
axes
. La funciónsubplot
elimina los ejes existentes que se solapen con los ejes nuevos. Por ejemplo,subplot('Position',[.35 .35 .3 .3])
elimina todos los ejes subyacentes, peroaxes('Position',[.35 .35 .3 .3])
posiciona ejes nuevos en el centro de la figura sin eliminar los ejes subyacentes.subplot(111)
es una excepción cuyo comportamiento no es igual al desubplot(1,1,1)
. Por motivos de retrocompatibilidad,subplot(111)
es un caso de subgráfica especial que no crea ejes inmediatamente, sino que configura la figura para que el próximo comando de gráficas ejecuteclf reset
. El siguiente comando de gráficas elimina todos los elementos secundarios de la figura y crea ejes nuevos en la posición predeterminada.subplot(111)
no devuelve un objetoAxes
y se produce un error si el código especifica un argumento de devolución.
Funcionalidad alternativa
Utilice las funciones tiledlayout y nexttile para crear un mosaico de gráficas configurable. Las opciones de configuración incluyen:
Control del espacio entre las gráficas y en los bordes del diseño
Opción de título compartido en la parte superior del diseño
Opciones de etiquetas de eje x e y compartidas
Opción para controlar si el mosaico presenta un tamaño fijo o variable que se pueda reordenar
Para obtener más información, consulte Combinar varias gráficas.
Historial de versiones
Introducido antes de R2006a
Consulte también
Funciones
- axes | cla | clf | figure | gca | tiledlayout | nexttile
Propiedades
- Axes Properties | PolarAxes Properties | GeographicAxes Properties
Temas
- Combinar varias gráficas
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本 (日本語)
- 한국 (한국어)
Contact your local office