Matlab - Funcion line visible

   
Vista:

Funcion line visible

Publicado por Ignacio (4 intervenciones) el 18/06/2016 22:58:28
Hola, queria saber, si puedo hacer un check box, en el cual al presionarlo me salga una linea con la funcion line, y despues al presionarlo de nuevo desaparezca esa linea en un grafico. De antemano muchas gracias.
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

Funcion line visible

Publicado por Ignacio (4 intervenciones) el 19/06/2016 00:01:33
Adjunto archivo de ejemplo por si es 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
Imágen de perfil de Jorge De Los Santos

Funcion line visible

Publicado por Jorge De Los Santos (212 intervenciones) el 20/06/2016 23:03:02
Hola Ignacio...

Puedes utilizar la propiedad 'Visible' para ocultar y mostrar la línea.

En resumen, primero define en el OpeningFcn una variable handles.linea y le asignas una matriz vacía:

1
2
3
4
5
6
7
8
9
10
11
12
function ejemploweb_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to ejemploweb (see VARARGIN)
 
% Choose default command line output for ejemploweb
handles.output = hObject;
handles.linea = [];
% Update handles structure
guidata(hObject, handles);


Luego en el callback del checkbox puedes colocar el siguiente código que te permitirá ocultar o mostrar la línea.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
function checkbox1_Callback(hObject, eventdata, handles)
% hObject    handle to checkbox1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
grilla = get(hObject,'Value');
if isempty(handles.linea)
    handles.linea = line([1; 10],[2; 20],'LineStyle','-');
end
if grilla==1
    set(handles.linea,'Visible','on');
else
    set(handles.linea,'Visible','off');
end
guidata(hObject, handles);




Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Funcion line visible

Publicado por Ignacio (4 intervenciones) el 21/06/2016 00:55:10
Hola Jorge

Muchas gracias por tu respuesta, funciona perfecto. Pero si me pudieras ayudar con una cosa mas, es que necesito agregar un Button group, y al agregar este button y cambiar la opción en dicho button, me aparece el error "Invalid handle object". De antemano muchas gracias. Te adjunto el archivo.
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

Funcion line visible

Publicado por Ignacio (4 intervenciones) el 21/06/2016 01:13:01
Este era el archivo
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