在下图中,如何使xTicks适合所有x轴?我无法理解问题出在哪里,作为一名新的MATLAB用户,我将不胜感激。 这是我绘制此图的代码部分:
f=figure();
plot(time, C, 'b*');
hold on
plot(time, L_Tilde, 'g-.');
plot(time, U_Tilde, 'g-.');
tickStep = 1 ;
tickDates = datenum( 1996:tickStep:2007 ,1,1) ;
set(gca, 'XTick' , tickDates , 'XTickLabel' , datestr(tickDates,'yyyy') )
答案 0 :(得分:4)
尝试
轴紧
这将把两个轴的极限设置为精确的数据极限。
答案 1 :(得分:3)
只需定义ylimit
:
set(gca,'Xlim',[1996,2007])
set(gca, 'XTick' , tickDates , 'XTickLabel' , datestr(tickDates,'yyyy') )
Danny's suggestion是自动化的方式。要回到 1996 ,您可以为双方增加几天的保证金:
%// example data
time = datenum( linspace(1996,2007),1,1);
L_Tilde = randi(10,[1,numel(time)]);
figure(1);
plot(time, L_Tilde, 'g-.');
tickStep = 1 ;
tickDates = datenum( 1996:tickStep:2007 ,1,1) ;
xlimms = get(gca,'Xlim');
axis tight
set(gca, 'XLim', get(gca,'XLim')+[-100,+100])
set(gca, 'XTick' , tickDates , 'XTickLabel' , datestr(tickDates,'yyyy') )
根据您的需要调整100
。