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

3 views (last 30 days)
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})

Accepted Answer

Star Strider
Star Strider on 10 May 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 Comments

Sign in to comment.

More Answers (0)

Categories

Find more on Polar Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!