Main Content

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 las figuras y los ejes que 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 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.

Tenga en cuenta 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áficas 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 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 objetivos

Suponga que crea una figura con dos conjuntos de ejes, ax1 y ax2.

tiledlayout(1,2)
ax1 = nexttile;
ax2 = nexttile;

Llame a plot con el objeto de ejes como primer argumento:

plot(ax1,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',ax2)

Convertir el objetivo en actual

Para especificar un objetivo, puede convertir una figura en la figura actual y 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 crea uno.

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

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

  • Vuelve a ordenar fig para que sea la figura mostrada en primer plano.

  • 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 un eje, entonces la instrucción

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

  • Vuelve a ordenar ax para que sea el conjunto de ejes mostrado en primer plano.

  • Vuelve a ax visible si no lo era.

  • 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 raíz de la propiedad CurrentFigure 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;

lo convierte en el eje actual, si fig es el identificador de la figura principal de los ejes.