Matlab替换轴范围

时间:2013-05-11 18:27:28

标签: matlab plot

我的x轴从0到96,其中每个数字代表一天中的四分之一小时(96/4 = 24小时)。我需要轴显示小时0到24是不是有办法在图之后只修改轴?

2 个答案:

答案 0 :(得分:1)

有几种方法。一个好的方法可能是改变图的x数据:

%# get handles of plot objects
chH = get(gca,'children');
%# for each child: divide the x-data by 4 and put it back
if length(chH) == 1
   set(chH,'xdata',get(chH,'xdata')/4);
else
   set(chH,{'xdata'},cellfun(@(x)x/4,get(chH,'xdata'),'uni',0));
end
xlim([0 24])

这将读取绘制到当前轴的对象的x数据,将其除以4,然后将其放回。然后将轴限制更改为0 ... 24

答案 1 :(得分:1)

您可以使用:

>> set(gca, 'XTick', 0:4:96);
>> set(gca, 'XTickLabel', 0:24);

例如:

>> plot(0:96,0:96)
>> set(gca, 'XTick', 0:4:96);
>> set(gca, 'XTickLabel', 0:24);

结果图:

enter image description here