Matlab - usar sobplot en un axes

 
Vista:

usar sobplot en un axes

Publicado por Mike (10 intervenciones) el 26/11/2011 07:02:00
Un saludo a todos,

Estoy usando un axes dentro de una GUI y me gustaría saber como es posible tener dos gráficas dentro de un mismo axes, es posible? o ustedes conocen alguna forma de hacerlo?
Todo esto por que usando "figure" y utilizando subplot se tienen varias gráficas dentro de una ventana, ahora quiero ver si es viable pero dentro de un axes y GUI.

tengo ahora esto, pero no funciona bien, el subplot abarca toda la ventana de la GUI y ya no puedo recuperar el tamaño original de la axes.

function boton2_Callback(hObject, eventdata, handles)
[s1, fs1, nbit1]=wavread('C:\matlab\audio1_44k_16_m.wav');
[s2, fs2, nbit2]=wavread('C:\matlab\audio2_44k_16_m.wav');
axes(handles.axes1);
cla;
subplot (122);plot(s2); title('Señal de entrada'); xlabel('Muestras');ylabel('Amplitud');
subplot (121);plot(s1); title('Señal de entrada'); xlabel('Muestras');ylabel('Amplitud');
guidata(hObject,handles);

gracias por su tiempo.
Saludos.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

usar sobplot en un axes

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/11/2011 14:00:08
hola Mike.
como vas con tu pregunta: "Cerrar todas la ventanas excepto la GUI principal"
Te copio mi programa que hice sobre tu pregunta actual.
Con el programa que yo hecho, puedes abrir cualquier archivo de audio de extension wav, y graficarlo, ahora si tu archivo de auidio es pesado, entonces necesitas tener instalado matlab de 64 bits en windows de 64 bits. Alli no vas a tener problema.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function varargout = subplot_en_axiscaballero(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @subplot_en_axiscaballero_OpeningFcn, ...
                   'gui_OutputFcn',  @subplot_en_axiscaballero_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
function subplot_en_axiscaballero_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = subplot_en_axiscaballero_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function leer_musica_Callback(hObject, eventdata, handles)
[nombre1 ruta1]=uigetfile('*.wav','ABRIR AUDIO 1');
if nombre1==0
    return;
else
  [s1,fs1,nbit1]= wavread([ruta1 nombre1]);
end
pause(0.5)
[nombre2 ruta2]=uigetfile('*.wav','ABRIR AUDIO 2');
if nombre2==0
    return;
else
  [s2,fs2,nbit2]= wavread([ruta2,nombre2]);
end
helpdlg('Archivos cargado correctamente','Procesamiento de audio');
handles.s1=s1;
handles.s2=s2;
guidata(hObject, handles);
 
function graficar_Callback(hObject, eventdata, handles)
s1=handles.s1;
s2=handles.s2;
h1=subplot(1,2,1,'Parent',handles.my_panel);
plot(h1,s1,'r');
title('Señal de entrada');
xlabel('Muestras');
ylabel('Amplitud');
 
h2=subplot(1,2,2,'Parent',handles.my_panel);
plot(h2,s2,'g');
title('Señal de entrada');
xlabel('Muestras');
ylabel('Amplitud');



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

usar sobplot en un axes

Publicado por Mike (10 intervenciones) el 26/11/2011 23:16:10
Hola José,

Gracias por el código, lo voy a insertar y probar en la GUI.

Sobre "Cerrar todas la ventanas excepto la GUI principal" lo dejé de lado, me concentré en mejor presentar los resultados tanto en figures y ahora en axes, pero bueno si tengo la espinita de saber como.

Gracias una vez más.
Saludos.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

usar sobplot en un axes

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 27/11/2011 15:02:20
Hola Mike.
Este es un programa hecho en guide.
Solo tienes que reproducir el guide.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
[email protected]
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

USAR DOS GUIDE

Publicado por anderju (2 intervenciones) el 23/02/2014 18:02:55
HOLA, JOSE JEREMIAS CABALLERO

Me gustaría saber como puedo graficar algo que tengo en una guide que me aparezca en otra guide. gracias
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