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.

Controlar la visualización de gráficas

Qué puede controlar

MATLAB® permite que varias ventanas de figuras se abran de manera simultánea durante una sesión. Puede controlar qué figuras y ejes utiliza MATLAB para mostrar el resultado de las funciones de representación. También puede controlar en qué medida MATLAB elimina y restablece las propiedades de las figuras y los ejes específicos.

Puede modificar la manera en la que se comportan las funciones de representación de MATLAB y puede implementar comportamientos específicos en las funciones de representación que escribe.

Considere estos aspectos:

  • ¿Puede evitar que una figura o un eje específico se convierta en el objetivo de las gráficas de visualización?

  • ¿Qué le sucede a una gráfica existente cuando representa más datos para esa gráfica? ¿Se sustituye la gráfica existente o se añaden nuevos objetos de gráficos a la gráfica existente?

Objetivo de figuras y ejes específicos

De forma predeterminada, las funciones de representación de MATLAB muestran las gráficas en la figura actual y los ejes actuales (los objetos devueltos por gcf y gca respectivamente). Puede dirigir la salida a otra figura y otros ejes:

  • Especificando de manera explícita los ejes objetivo con la función de representación.

  • Convirtiendo los ejes objetivo en los ejes actuales.

Especificar los ejes objetivo

Suponga que crea una figura con cuatro ejes y guarda los identificadores en el arreglo ax:

for k = 1:4
   ax(k) = subplot(2,2,k);
end

Llame a plot con el identificador de los ejes como primer argumento:

plot(ax(1),1:10)

Para las funciones de representación que no admiten el primer argumento de los ejes, establezca la propiedad Parent:

t = 0:pi/5:2*pi;
patch(sin(t),cos(t),'y','Parent',ax(2))

Convertir el objetivo en actual

Para especificar un objetivo, puede convertir una figura en la figura actual y hacer que un eje en esa figura sea el eje actual. Las funciones de representación utilizan la figura actual y sus ejes actuales de forma predeterminada. Si la figura actual no tiene ejes actuales, MATLAB los crea.

Si fig es el identificador de una figura, entonces la instrucción

figure(fig)
  • Convierte a fig en la figura actual.

  • Reordena fig para que sea la principal figura mostrada.

  • Vuelve a fig visible si no lo era (establece la propiedad Visible en on).

  • Actualiza la visualización de la figura y procesa cualquier callback pendiente.

El mismo comportamiento se aplica a los ejes. Si ax es el identificador de unos ejes, entonces la instrucción

axes(ax)
  • Convierte a ax en los ejes actuales.

  • Reordena ax para que sean los principales ejes mostrados.

  • Vuelve a ax visibles si no lo eran.

  • Actualiza la figura que contiene los ejes y procesa cualquier callback pendiente.

Convertir figuras o ejes en actuales sin cambiar otro estado

Puede convertir una figura o un eje en actual sin provocar un cambio en otros aspectos del estado del objeto. Establezca la propiedad CurrentFigure de la raíz o la propiedad CurrentAxes del objeto en el identificador de la figura o los ejes a los que desea dirigirse.

Si fig es el identificador de una figura existente, la instrucción

r = groot;
r.CurrentFigure = fig;

convierte a fig en la figura actual. De forma similar, si ax es el identificador de un objeto de ejes, la instrucción

fig.CurrentAxes = ax;

los convierte en los ejes actuales, si fig es el identificador de la figura principal de los ejes.