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

1 次查看(过去 30 天)
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})

采纳的回答

Star Strider
Star Strider 2014-5-10
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 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by