Main Content

Arreglos de gráficas

Los arreglos de gráficas pueden contener los identificadores de cualquier objeto de gráficas. Por ejemplo, esta llamada a la función plot devuelve un arreglo que contiene cinco identificadores de objetos de línea:

y = rand(20,5);
h = plot(y)
h = 

  5x1 Line array:

  Line
  Line
  Line
  Line
  Line

Este arreglo contiene solo identificadores de objetos de línea. Sin embargo, los arreglos de gráficas pueden contener más de un tipo de objeto de gráficas. Es decir, los arreglos de gráficas pueden ser heterogéneos.

Por ejemplo, puede concatenar los identificadores de la figura, los ejes y los objetos de línea en un arreglo, harray:

hf = figure;
ha = axes;
hl = plot(1:10);
harray = [hf,ha,hl]
harray = 

  1x3 graphics array:

    Figure    Axes      Line

Los arreglos de gráficas siguen las mismas reglas que los arreglos de MATLAB®. Por ejemplo, las dimensiones de los elementos del arreglo deben coincidir. En este código, la gráfica devuelve un arreglo de líneas de 5 por 1:

hf = figure;
ha = axes;
hl = plot(rand(5));
harray = [hf,ha,hl];
Error using horzcat
Dimensions of matrices being concatenated are not consistent.

Para formar un arreglo, debe transponer hl:

harray = [hf,ha,hl']
harray = 

  1x7 graphics array:

   Figure    Axes      Line      Line      Line      Line      Line

No puede concatenar datos numéricos con identificadores de objeto, con la excepción del único identificador especificado por la propiedad Number de la figura. Por ejemplo, si existe una figura con la propiedad Number definida en 1, puede hacer referencia a dicha figura por este número:

figure(1)
aHandle = axes;
[aHandle,1]
ans = 

  1x2 graphics array:

    Axes      Figure

Las mismas reglas para la formación de arreglos se aplican a la asignación indexada. Por ejemplo, puede crear un arreglo de identificadores con un bucle for:

harray = gobjects(1,7);
hf = figure;
ha = axes;
hl = plot(rand(5));
harray(1) = hf;
harray(2) = ha;
for k = 1:length(hl)
   harray(k+2) = hl(k);
end