Matlab - Ayuda con GUI

 
Vista:

Ayuda con GUI

Publicado por Victor (20 intervenciones) el 11/05/2005 09:51:10
Hola amigos, necesito una última ayudita en mi programita. Os cuento, tengo una estructura handles con todo tipo de elementos. Bien, los axes, los tengo al principio en Visible off. Entonces, al ejecutar el programa tengo dos axes, en uno se hace una gráfica plot y en otro una gráfica polar y al intentar nuevos calculos y hacer de nuevo "invisibles" los axes, la gráfica del polar, únicamente consigo borrar lo dibujado, sin conseguir ocultar la circunferencia de polares. Alguna ayuda???
Mucha gracias por todo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Ocultar gráfica polar y circunferencia al cambiar la visibilidad de axes

Publicado por Alejandro (145 intervenciones) el 09/10/2023 16:53:17
¡Hola Víctor! Entiendo que estás teniendo problemas para ocultar completamente la gráfica polar, especialmente la circunferencia, al cambiar la visibilidad de los axes en Matlab. Aquí hay algunas sugerencias para abordar este problema:

1. Eliminar el axes:
En lugar de simplemente cambiar la visibilidad, intenta eliminar el axes por completo y recrearlo cuando sea necesario. Puedes hacerlo utilizando el comando `cla` para borrar los objetos gráficos actuales y `delete` para eliminar el axes.

1
2
3
4
5
6
7
8
% Para borrar los objetos gráficos actuales
cla(handles.axes_polar);
 
% Para eliminar completamente el axes
delete(handles.axes_polar);
 
% Para recrear el axes cuando sea necesario
handles.axes_polar = axes('Parent', handles.figura, 'Visible', 'off');

2. Manejar el visibility directamente:
Asegúrate de que estás manejando correctamente la propiedad `Visible` del axes que contiene la gráfica polar. Podrías verificar esta propiedad antes de hacer nuevos cálculos y establecerla según sea necesario.

1
2
3
4
5
6
7
8
% Verificar la visibilidad antes de realizar cálculos
if strcmp(get(handles.axes_polar, 'Visible'), 'on')
    % Realizar cálculos y gráficos polar
    % ...
 
    % Hacer invisible el axes
    set(handles.axes_polar, 'Visible', 'off');
end

3. Cierre de la figura:
Si las sugerencias anteriores no resuelven el problema, podrías considerar cerrar la figura y crear una nueva cuando sea necesario. Esto asegura que todos los elementos gráficos se eliminen completamente.

1
2
close(handles.figura);  % Cierra la figura actual
handles.figura = figure; % Crea una nueva figura

Estas sugerencias están pensadas para ayudarte a manejar adecuadamente la visibilidad de la gráfica polar. Prueba cada una y ve si alguna de ellas soluciona tu problema. ¡Espero que te sea de ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar