Why is the x-axis scale different from what I specified in the code?

1 visualización (últimos 30 días)
My problem is about the plot of this code. I attached the text file I have to use;I want to plot the hour(2nd column) on the x-axes and the value(3rd column) on the y-axis. But when I plotted them the scale on x-axis is different from the original data: His range is from 00:00:17 to 00:01:17 instead of 05:00:07 .Why? Could someone help me? Thank you very much
% YourFilePath = 'C:\Matlab\valori2.txt';
fid = fopen(YourFilePath ,'rt');
Datafile = textscan(fid,'%s%s%s%s%s','Headerlines',2);
Value = Datafile{3};
Value = cellfun(@(x) textscan(x,'%s','Delimiter', ' ')',Value ,'UniformOutput',false);
Y = vertcat(Value{:});
X = cellfun(@transpose,Y,'UniformOutput',false);
Z = cellfun(@str2double,X,'UniformOutput',false);
Value1=cell2mat(Z);
Time (:,1)= Datafile{2};
Time1=cell2mat(Time);
fclose(fid);
plot(Value1,'*')
set(gca,'xticklabel',{Time1})

Respuesta aceptada

Star Strider
Star Strider el 10 de Mayo de 2014
Replace:
set(gca,'xticklabel',{Time1})
with:
xt = get(gca, 'XTick')
set(gca, 'xtick',xt(1:end-1), 'xticklabel',Time1(xt(1:end-1)+1,:))
and it should plot as you want.
  4 comentarios
Matteo
Matteo el 10 de Mayo de 2014
Thank you very much!Now it's perfect

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by