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 propiedadVisible
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.