Main Content

Preparar figuras y ejes para la gráfica

Comportamiento de las funciones de representación de MATLAB

Las funciones de representación de MATLAB® crea una nueva figura y ejes si no existen o si vuelve a utilizar una figura o un eje o una figura existentes. Cuando vuelve a utilizar ejes existentes, MATLAB

  • Elimina los objetos de gráficas de los ejes.

  • Restablece la mayoría de propiedades de los ejes a sus valores predeterminados.

  • Calcula los nuevos límites de los ejes según los nuevos datos.

Cuando una función de representación crea una gráfica, la función puede:

  • Crear una figura y un eje para la gráfica y establezca las propiedades necesarias para la gráfica particular (comportamiento predeterminado su no existe la figura actual)

  • Volver a utilizar una figura y un eje existentes, eliminando y restableciendo las propiedades de los ejes según lo necesario (comportamiento predeterminado si existe una gráfica)

  • Agregar nuevos objetos de datos a una gráfica existente sin restablecer las propiedades (si hold es on)

Las propiedades de la figura y el eje NextPlot controlan la manera en la que se comportan las funciones de representación de MATLAB.

Cómo las propiedades NextPlot controlan el comportamiento

Las funciones de representación de MATLAB dependen de los valores de la figura y de los ejes de las propiedades NextPlot para determinar si añadir, eliminar o eliminar y restablecer la figura y los ejes antes de representar la nueva gráfica. Las funciones de creación de objetos de bajo nivel no comprueban las propiedades NextPlot. Simplemente agregan los nuevos objetos de gráficas a la figura y ejes actuales.

La siguiente tabla resume los valores posibles para las propiedades NextPlot.

NextPlot

Figura

Ejes

new

Crea una nueva figura y la utiliza como la figura actual.

No es una opción para los ejes.

add

Agregue nuevos objetos de gráficas sin eliminar o restablecer la figura actual. (Valor predeterminado)

Agregue nuevos objetos de gráficas sin eliminar o restablecer los ejes actuales.

replacechildren

Elimina todos los objetos de ejes cuyos identificadores no están ocultos antes de la incorporación de nuevos objetos. No restablece las propiedades de la figura. Equivale a clf.

Elimina todos los objetos secundarios de ejes cuyos identificadores no están ocultos antes de la incorporación de nuevos objetos de gráficas. No restablece las propiedades de los ejes. Equivale a cla.

replace

Retira todos los objetos de los ejes y restablece las propiedades de la figura a sus valores predeterminados antes de agregar nuevos objetos. Equivale a clf reset.

Retira todos los objetos secundarios y restablece las propiedades de los ejes a sus valores predeterminados antes de agregar nuevos objetos. Equivale a cla reset. (Valor predeterminado)

Las funciones de representación llaman a la función newplot para obtener el identificador para los ejes apropiados.

La situación predeterminada

Tenga en cuenta la situación predeterminada en la que la propiedad NextPlot es add y la propiedad NextPlot del eje es replace. Cuando llama a newplot:

  1. Comprueba el valor de la propiedad NextPlot de la figura actual (que es, add).

  2. Determina que MATLAB puede representar en la figura actual sin modificar la figura. Si no hay una figura actual, newplot crea una, pero no vuelve a comprobar su propiedad NextPlot.

  3. Comprueba el valor de la propiedad NextPlot de los ejes actuales (que es, replace), elimina todos los objetos de gráficas de los ejes, restablece todas las propiedades de los ejes (excepto Position y Units) en sus valores predeterminados y devuelve el identificador de los ejes actuales. Si no hay ejes actuales, newplot crea uno, pero no vuelve a comprobar su propiedad NextPlot.

  4. Elimina todos los objetos de gráficas de los ejes, restablece todas las propiedades de los ejes (excepto Position y Units) en sus valores predeterminados y devuelve el identificados de los ejes actuales. Si no hay ejes actuales, newplot crea uno, pero no vuelve a comprobar su propiedad NextPlot.

Función hold y propiedades NextPlot

La función hold proporciona un acceso práctico a las propiedades NextPlot. Cuando desea agregar objetos a una gráfica sin eliminar otros objetos o restablecer las propiedades utilice hold on:

  • hold on: Establece las propiedades NextPlot de la figura y los ejes en add. Las gráficas de línea siguen utilizando los valores de la propiedad ColorOrder y LineStyleOrder.

  • hold off: establece la propiedad NextPlot de los ejes en replace

Utilice ishold para determinar si hold es on o off.

Controlar el comportamiento de las funciones de representación escritas por el usuario

MATLAB proporciona la función newplot para simplificar la escritura de funciones de representación que se adaptan a la configuración de las propiedades NextPlot.

newplot comprueba los valores de las propiedades NextPlot y toma la medida apropiada según estos valores. Coloque newplot al principio de cualquier función que llame a las funciones de creación de objetos.

Cuando su función llama a newplot, newplot primero solicita la figura de la propiedad NextPlot. Según los valores de la propiedad newplot lleva a cabo después la acción descrita en la siguiente tabla según el valor de la propiedad.

Valor de la propiedad NextPlot de la figuraFunción newplot

No existen figuras

Crea una figura y convierte a esta figura en la figura actual.

add

Convierte a la figura en la figura actual.

new

Crea una nueva figura y la convierte en la figura actual.

replacechildren

Elimina los elementos secundarios de la figura (los objetos de los ejes y sus descendientes) y convierte a esta figura en la figura actual.

replace

Elimina los elementos secundarios de la figura, restablece sus propiedades a sus valores predeterminados y convierte a esta figura en la figura actual.

A continuación, newplot comprueba la propiedad NextPlot de los ejes actuales. Según el valor de la propiedad, newplot lleva a cabo las acciones descritas en la siguiente tabla.

Valor de la propiedad NextPlot de los ejesFunción newplot

No existen ejes en la siguiente figura

Crea unos ejes y los utiliza como los ejes actuales

add

Convierte los ejes en los ejes actuales y devuelve su identificador.

replacechildren

Elimina los elementos secundarios de los ejes y convierte estos ejes en los ejes actuales.

replace

Elimina los elementos secundarios de los ejes, restablece las propiedades de los ejes a sus valores predeterminados y convierte estos ejes en los ejes actuales.