Matlab - Marcadores de los ejes de una grafica

 
Vista:
sin imagen de perfil
Val: 24
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Marcadores de los ejes de una grafica

Publicado por Maria (14 intervenciones) el 17/04/2018 06:39:17
Buen día
He graficado de una señal y era necesario ajustar la grilla de dicha gráfica para que marcara una linea cada 40ms, esto lo hice con la herramienta xticks y me ha sido de gran ayuda, el problema es que marca las lineas pero en la linea de tiempo inferior aparecen todos esos puntos marcados y la señal sura 10s, por tanto los numeros no se pueden ver. Saben cómo puedo ajustar esto para el solamente se muestren por ejemplo cada segundo sin afectar lo que ya tengo. Agradezco su ayuda
Anexo lo que me aparece para que se me entienda claramente


Captura
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
sin imagen de perfil
Val: 24
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Marcadores de los ejes de una grafica

Publicado por Maria (14 intervenciones) el 18/04/2018 01:22:42
Este es el código que estoy trabajando
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
%% Ajuste grilla
sig = 'A033';   %Señal 
load(sig);      %Cargar señal
S_ECG = Mlb(:,7);  %Escoger una columna
xi = 1:1:12000;  %vector de tiempo
close all
hold on
grid on
Vm = [];
Lim_sup = max(S_ECG/100)+ 0.1*max(S_ECG/100);
Lim_inf = min(S_ECG/100)+ 0.1*min(S_ECG/100);
axis([ 0 10 Lim_inf Lim_sup]);
 
for i = 0.04:0.04:10
    Vm = [Vm i];
    ax = gca;
    ax.GridColor = [0.94,0.74,0.74];  % [R, G, B]
    ax.GridAlpha = 0.5;
    x=i/0.2*ones(1,2);
    y=linspace(Lim_inf,Lim_sup,2);
    plot(x,y,'color',[1 0.65 0.65], 'linewidth',1);hold on;  %mas oscuras
end
xticks([0 Vm])
 
n_lin_pos = round(Lim_sup/0.04);
n_lin_neg = round(abs(Lim_inf)/0.04);
 
for h=-n_lin_neg:n_lin_pos
      x=h*0.1*ones(1,2);
      y=linspace(0,10,2);
      x1=h*0.5*ones(1,2);
      x2 = zeros(1,2);
      plot(y,x1,'Color',[1 0.65 0.65], 'linewidth',1);hold on; %oscuras horizontales
      plot(y,x2, 'color',[1 0.65 0.65], 'linewidth',1);  %cero
      plot(y,x,'Color',[0.94,0.74,0.74], 'linewidth',0.5);%Delgadas horizontales
end
 
plot(xi/1200,S_ECG/100, 'k'), title (sig)
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

Marcadores de los ejes de una grafica

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/04/2018 01:46:45
1
2
3
4
5
6
7
8
9
10
11
for i = 0.04:0.04:10
   if fix(i)==i
     Vm = [Vm i];
    end
ax = gca;
ax.GridColor = [0.94,0.74,0.74]; % [R, G, B]
ax.GridAlpha = 0.5;
x=i/0.2*ones(1,2);
y=linspace(Lim_inf,Lim_sup,2);
plot(x,y,'color',[1 0.65 0.65], 'linewidth',1);hold on; %mas oscuras
end

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matla


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 24
Ha aumentado su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Marcadores de los ejes de una grafica

Publicado por Maria (14 intervenciones) el 18/04/2018 01:52:51
Esto resuelve el problema pero ocasiona que las lineas horizontales que deben aparecer cada 40ms no se grafiquen y son imprescindibles.


Captura
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

Marcadores de los ejes de una grafica

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/04/2018 02:58:44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for i = 0.04:0.04:10
    if fix(i)==i
     Vm = [Vm i];
    end
ax = gca;
ax.GridColor = [0.94,0.74,0.74]; % [R, G, B]
ax.GridAlpha = 0.5;
x=i/0.2*ones(1,2);
y=linspace(Lim_inf,Lim_sup,2);
plot(x,y,'color',[1 0.65 0.65], 'linewidth',1);hold on; %mas oscuras
a=axis;
plot([i i],[a(3) a(3)+0.0003],'color',[0 0 0], 'linewidth',1);hold on; %mas oscuras
end
set(gca,'xtick',[0 Vm])

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matla


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
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

Marcadores de los ejes de una grafica

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 19/04/2018 16:49:12
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
%% Ajuste grilla
sig = 'A033'; %Señal 
%load(sig); %Cargar señal
%sig='handel.mat';
load(sig)
whos
S_ECG = Mlb(:,7); %Escoger una columna
xi = 1:1:12000; %vector de tiempo
close all
hold on
grid on
Vm = [];
Lim_sup = max(S_ECG/100)+ 0.1*max(S_ECG/100);
Lim_inf = min(S_ECG/100)+ 0.1*min(S_ECG/100);
axis([ 0 10 Lim_inf Lim_sup]);
 
for i = 0.04:0.04:10
    if fix(i)==i
     Vm = [Vm i];
    end
ax = gca;
ax.GridColor = [0.94,0.74,0.74]; % [R, G, B]
ax.GridAlpha = 0.5;
x=i/0.2*ones(1,2);
y=linspace(Lim_inf,Lim_sup,2);
plot(x,y,'color',[1 0.65 0.65], 'linewidth',1);hold on; %mas oscuras
a=axis;
plot([i i],[a(3) a(3)+0.05],'color',[0 0 0], 'linewidth',1);hold on; %mas oscuras
end
%set(gca,'xtick',[0 Vm])
xticks([0 Vm])
 
n_lin_pos = round(Lim_sup/0.04);
n_lin_neg = round(abs(Lim_inf)/0.04);
 
for h=-n_lin_neg:n_lin_pos
x=h*0.1*ones(1,2);
y=linspace(0,10,2);
x1=h*0.5*ones(1,2);
x2 = zeros(1,2);
plot(y,x1,'Color',[1 0.65 0.65], 'linewidth',1);hold on; %oscuras horizontales
plot(y,x2, 'color',[1 0.65 0.65], 'linewidth',1); %cero
plot(y,x,'Color',[0.94,0.74,0.74], 'linewidth',0.5);%Delgadas horizontales
end
x3=xi/12000;
y3=S_ECG/100;
whos x3 y3
plot(xi/1200,S_ECG/100, 'k'), title (sig)
hold off



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matla


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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