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