如何让xTicks适合所有的绘图窗口?

时间:2014-10-09 13:28:23

标签: matlab plot octave matlab-figure

在下图中,如何使xTicks适合所有x轴?我无法理解问题出在哪里,作为一名新的MATLAB用户,我将不胜感激。 enter image description here 这是我绘制此图的代码部分:

    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') )

2 个答案:

答案 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') )

enter image description here

根据您的需要调整100