Main Content

close

Cerrar una o más figuras

Descripción

ejemplo

close cierra la figura actual. Llamar a close equivale a llamar a close(gcf).

ejemplo

close(fig) cierra la figura especificada por fig.

ejemplo

close all cierra todas las figuras cuyos identificadores son visibles. Un identificador de figura está oculto si la propiedad HandleVisibility está establecida en 'callback' u 'off'.

ejemplo

close all hidden cierra todas las figuras, incluyendo figuras con identificadores ocultos.

ejemplo

close all force cierra todas las figuras, incluyendo figuras para las que se ha especificado el callback CloseRequestFcn para prevenir que los usuarios cierren la ventana de figura.

ejemplo

status = close(___) devuelve el status de la operación de cierre para cualquiera de las sintaxis anteriores. La función devuelve 1 si la figura o figuras se cierran y 0 si no se cierran. Cuando especifique la salida status, debe encerrar entre paréntesis los argumentos de entrada que son vectores de caracteres, por ejemplo, status = close('all','hidden').

Ejemplos

contraer todo

Cree dos figuras, cada una de ellas con una gráfica de líneas.

f1 = figure;
plot(1:10)

f2 = figure;
plot((1:10).^2)

Cierre la primera figura y muestre el valor de f1.

close(f1)
f1
f1 = 
  handle to deleted Figure

Cierre la figura actual.

close

Cree tres figuras y, después, cree una gráfica de líneas. De forma predeterminada, la función plot afecta a la figura actual (f3).

f1 = figure;
f2 = figure;
f3 = figure;
plot(1:10)

Cierre las figuras f1 y f2 simultáneamente.

close([f1 f2])

Cree dos figuras con números especificados. Incluya una gráfica de líneas en cada figura.

figure(1)
plot(1:10)

figure(2)
plot((1:10).^2)

Cierre la segunda figura pasando su número a la función close.

close(2)

Cree una figura, especifique su nombre y, después, cree una gráfica de líneas.

figure('Name','Measured Data');
plot(1:10)

Cierre la figura usando su nombre.

close('Measured Data')

Cree dos figuras, cada una de ellas con una gráfica de líneas.

f1 = figure;
plot(1:10)

f2 = figure;
plot((1:10).^2)

Cierre la figura f1. Verifique que la figura está cerrada mostrando su estado.

status = close(f1)
status = 1

Cree tres figuras cuyos identificadores sean visibles e incluya una gráfica de líneas en cada figura.

f1 = figure;
plot(1:10)

f2 = figure;
plot((1:10).^2)

f3 = figure;
plot(1./(1:10))

Cierre todas las figuras simultáneamente.

close all

Cree tres figuras, cada una de ellas con una gráfica de líneas. Establezca la propiedad HandleVisibility de la última figura en 'off'.

f1 = figure;
plot(1:10)

f2 = figure;
plot((1:10).^2)

f3 = figure('HandleVisibility','off');
plot(1./(1:10))

Cierre todas las figuras. Observe que no puede cerrar f3 llamando a close all porque tiene un identificador oculto.

close all hidden

La propiedad CloseRequestFcn permite especificar un callback de solicitud de cierre, que se ejecuta cuando un usuario intenta cerrar la ventana de figura. Por ejemplo, puede mostrar un cuadro de diálogo para pedir que confirme o cancele la operación de cierre o para evitar que los usuarios cierren una figura que contiene una IU.

Cree una figura cuya ventana no pueda cerrarse estableciendo la propiedad CloseRequestFcn en un vector de caracteres vacío. Después, añada una gráfica de líneas a la figura.

f1 = figure('CloseRequestFcn','');
plot(1:10)

Cree una segunda figura con una gráfica de líneas.

f2 = figure;
plot((1:10).^2)

Si intenta cerrar las figuras con la sintaxis close all, MATLAB® solo cierra f2. Para cerrar tanto f1 como f2, utilice la sintaxis close all force.

close all force

Argumentos de entrada

contraer todo

Figura que se desea cerrar, especificada como uno o más objetos Figure, números de figura o nombres de figura.

  • Si fig es un número de figura, MATLAB® busca una figura existente en la que la propiedad Number es igual a fig. De forma predeterminada, el valor de propiedad Number se muestra en el título de la figura.

  • Si fig es un nombre de figura, MATLAB busca una figura existente en la que la propiedad Name es igual a fig.

Ejemplo: close(f) cierra la figura con el identificador f.

Ejemplo: close([f1 f2]) cierra las figuras con los identificadores f1 y f2.

Ejemplo: close(1) cierra la figura con el número 1.

Ejemplo: close([1 2]) cierra las figuras con los números 1 y 2.

Ejemplo: close('My Figure') cierra la figura con el nombre 'My Figure'.

Ejemplo: close('My First Figure','My Second Figure') cierra las figuras con los nombres 'My First Figure' y 'My Second Figure'.

Sugerencias

  • Para eliminar todas las figuras incondicionalmente, utilice estas instrucciones:

    set(groot,'ShowHiddenHandles','on')
    c = get(groot,'Children');
    delete(c)

  • Cuando implemente un callback CloseRequestFcn, no utilice una llamada a close. Llamando a close en el cuerpo del callback, se configura una recursividad que da como resultado una advertencia de MATLAB. En su lugar, implemente el callback usando la función delete. delete elimina la figura sin ejecutar el callback CloseRequestFcn.

  • Si llama a close en una figura sin especificar la propiedad CloseRequestFcn, el valor predeterminado de la propiedad, closereq, elimina incondicionalmente la figura y cierra su ventana. Para evitar la eliminación al llamar a close, implemente un callback CloseRequestFcn.

Algoritmos

La función close evalúa la propiedad CloseRequestFcn de la figura f especificada utilizando esta instrucción:

eval(get(f,'CloseRequestFcn'))

CloseRequestFcn permite retrasar o anular el cierre de una figura cuando close ya se ha invocado. Por ejemplo, puede mostrar un cuadro de diálogo para confirmar que el usuario realmente desea cerrar la figura o guardar y eliminar antes de cerrar.

El valor predeterminado de CloseRequestFcn, closereq, cierra la figura actual con delete(get(groot,'CurrentFigure')). Si especifica un arreglo de identificadores de figura, close ejecuta el callback especificado por CloseRequestFcn para cada figura.

Si un error termina la ejecución de un callback CloseRequestFcn, la figura no se cierra.

Historial de versiones

Introducido antes de R2006a

Consulte también

Funciones

Propiedades