如何在matlab上绘制沿x轴的日期

时间:2015-04-16 13:59:59

标签: matlab date plot

我有两个数据向量(?) - 一个是价格,另一个是价格出现的日期,我试图绘制两个数据的散点图。

我的日期格式为ddmmyyyy,我尝试使用mat2str将矢量转换为字符串,然后使用

formatin =' ddmmyyy&#39 ;; datenum(MYDATA,formatin)

然而它返回一个错误,说明datenum失败了。

修改

这是我的代码示例 这就是我想要运行的,其中AvivaDate是1200x1双倍的向量。问题似乎是mat2str没有将向量更改为一串数字:例如我需要{' 12345' 12345'}形式,但mat2str正在将其更改为一串' [12345' 12345]',如果有意义的话,不是单独的字符串列表

formatin = 'ddmmyyyy';   
DateAviva = mat2str(AvivaDate);   
datenum(DateAviva,formatin);   
hist(ReturnAviva,datenum(AvivaDate,formatin));  
datetick('x','keepticks','keeplimits');  

1 个答案:

答案 0 :(得分:1)

mat2str不是您想要在数字和字符串之间进行转换的函数。 mat2str有一个非常具体的功能(你看它如何将[]放在输出周围?)。使用num2str,然后将其转换为单元格数组:

S = num2str(AvivaDate); % should be 1200 x 8 char
C = mat2cell(S,ones(size(S,1),1)); % should be 1200 x 1 cell
dates = datenum(C,'ddmmyyyy'); % should be 1200 x 1 datenums

虽然,根据您首先获取信息的位置,可能有更好的方法从文件中读取日期,因此您不会得到一个数字矩阵,其中你想要日期。

相关问题