matlab以时间为坐标的设置

  这两天遇上matlab在做图时没有办法将时间做为坐标显示出来的问题,查了查help文档,终于能显示了.
  首先取出数据表中的数据,现在只举例说明.
  假设有这么些数据:
% ('1899-12-30 00:00:00','21','瓦斯','1.11',
% '1899-12-30 00:03:00','21','瓦斯','0.92',
% '1899-12-30 00:06:00','21','瓦斯','0.88',
% '1899-12-30 00:09:00','21','瓦斯','0.88',
% '1899-12-30 00:12:00','21','瓦斯','0.89',
% '1899-12-30 00:15:00','21','瓦斯','0.77',
% '1899-12-30 00:18:00','21','瓦斯','0.78',
% '1899-12-30 00:21:00','21','瓦斯','0.81',
% '1899-12-30 00:24:00','21','瓦斯','0.81';
 
  要画第一列和第四列的曲线.
  如果数据从数据库里直接取出可以以列的形式取,现在构造这样一些数据.

 最主要的有两个函数,datenum和datetick.
     datenum会把时间格式转换为数字方便绘图.
 datetick可以设置x轴的显示方式.
   
   
    运行结果如下图所示:
   
  如果要改变x轴显示的步长,可以用set命令.
  set(gca,'xtick',[min:步长:max]);
  选择合适的min,步长,max时,可以查看横坐标x里的值.
  如果将程序里加上一句:
   set(gca,'xtick',[693953:0.004:693953.01]);
        那么显示结果如下:
  
  如果只想显示小时分钟秒数,那么可以使用datetick的第14种显示样式.
   datetick('x',14)    
        set(gca,'xtick',[693953:0.0024:693953.009]);
 
       运行结果如下:
    
  
        还有一个问题没有解决,在显示的时候如果步长太短,而时间格式又太长,matlab不会自己调整格式显示,就会出现刻度的重叠,以后解决了这个问题再写解决办法吧.

你可能感兴趣的:(职场,matlab,休闲)