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

1 Ansicht (letzte 30 Tage)
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})

Akzeptierte Antwort

Star Strider
Star Strider am 10 Mai 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 Kommentare
Matteo
Matteo am 10 Mai 2014
Thank you very much!Now it's perfect

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by