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.

Preparar figuras y ejes para gráficas

Comportamiento de las funciones de representación de MATLAB

Las funciones de representación de MATLAB® crean una nueva figura y nuevos ejes si no existen, o reutilizan una figura o ejes existentes. Cuando reutiliza ejes existentes, MATLAB

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

  • Restablece la mayoría de las 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 unos ejes para la gráfica y establecer las propiedades necesarias para la gráfica particular (comportamiento predeterminado si no existe una figura actual)

  • Reutilizar una figura y unos ejes 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 NextPlot de la figura y los ejes controlan la manera en la que se comportan las funciones de representación de MATLAB.

Cómo controlan el comportamiento las propiedades NextPlot

Las funciones de representación de MATLAB dependen de los valores de las propiedades NextPlot de la figura y de los ejess 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áficos a la figura y los 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

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

Agrega nuevos objetos de gráficos 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 añadir nuevos objetos de gráficos. No restablece las propiedades de los ejes. Equivale a cla.

replace

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

Elimina todos los objetos secundarios y restablece las propiedades de los ejes a sus valores predeterminados antes de añadir 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

Considere la situación predeterminada en la que la propiedad NextPlot es add y la propiedad NextPlot de los ejes es replace. Cuando llama a newplot, esta función:

  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áficos 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 los crea, pero no vuelve a comprobar su propiedad NextPlot.

  4. Elimina todos los objetos de gráficos 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 los crea, 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 desee 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 el orden de valores de las propiedades ColorOrder y LineStyleOrder.

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

Utilice ishold para determinar si hold es on u 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 consulta la propiedad NextPlot de la figura. Según los valores de la propiedad, newplot lleva a cabo después la acción descrita en la siguiente tabla.

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 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 figura actual

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.