版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yucaiyan.blog.51cto.com/367590/213585
  这两天遇上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';
 
  要画第一列和第四列的曲线.
  如果数据从数据库里直接取出可以以列的形式取,现在构造这样一些数据.
matlab以时间为坐标的设置 _matlab
 最主要的有两个函数,datenum和datetick.
     datenum会把时间格式转换为数字方便绘图.
 datetick可以设置x轴的显示方式.
    matlab以时间为坐标的设置 _休闲_02
    matlab以时间为坐标的设置 _matlab_03
    运行结果如下图所示:
 matlab以时间为坐标的设置 _matlab_04 
  如果要改变x轴显示的步长,可以用set命令.
  set(gca,'xtick',[min:步长:max]);
  选择合适的min,步长,max时,可以查看横坐标x里的值.
  如果将程序里加上一句:
  set(gca,'xtick',[693953:0.004:693953.01]);
        那么显示结果如下:
  matlab以时间为坐标的设置 _matlab_05
  如果只想显示小时分钟秒数,那么可以使用datetick的第14种显示样式.
  datetick('x',14)    
        set(gca,'xtick',[693953:0.0024:693953.009]);
 
       运行结果如下:
  matlab以时间为坐标的设置 _matlab_06 
  
        还有一个问题没有解决,在显示的时候如果步长太短,而时间格式又太长,matlab不会自己调整格式显示,就会出现刻度的重叠,以后解决了这个问题再写解决办法吧.
本文出自 “紫冰百合” 博客,请务必保留此出处http://yucaiyan.blog.51cto.com/367590/213585