如何在matlab图形上将日期显示为字符串

Posted

技术标签:

【中文标题】如何在matlab图形上将日期显示为字符串【英文标题】:How to present date as a string on matlab figure 【发布时间】:2010-09-20 09:02:05 【问题描述】:

我已经将日期和时间数据从一个文本文件中导入到 Matlab 中,在该文本文件中它以字符串的形式存储。我可以使用 datenum 和 datestr 命令将字符串转换为数字数据并返回。

我的问题是创建数字。我可以很容易地根据数字日期和时间值绘制数据,但由于它是作为数字存储的,所以它不是很有用。另一方面,我发现不可能针对字符串绘制数据。有没有一种方法可以根据数字日期和时间值绘制数据,但以友好的方式作为字符串呈现?

最好的问候,

【问题讨论】:

【参考方案1】:

看看datetick。或者您可能更喜欢rotate tick label。 *** post 提供了有关调整刻度标签的更多信息。

【讨论】:

是的,datetick 将数字日期和时间数据转换为字符串。但是,正如我所注意到的,它只执行一次,在第一个情节中。绘制图形后,当它被缩放时,普通数据会得到新的刻度(步长更小),而不会出现新的字符串刻度。数据游标工具也只返回数值数据,而不是转换后的数据。有没有办法解决这个问题? 查看“ResizeFcn”的文档。使用 set(gcf, 'ResizeFcn', @resizeFunctionHandle)' 您可以为 resize 事件分配一个函数(句柄)。在这种情况下,resizeFunctionHandle 会在每个图形调整大小时执行。【参考方案2】:

我不确定这是否是您要求的:

date_numeric = 1:5;
date_string='date_1' 'date_2' 'date_3' 'date_4' 'date_5';
y = rand(size(date_numeric));
plot(date_numeric, y, 'b')
set(gca, 'XTick',1:5, 'XTickLabel',date_string)

【讨论】:

以上是关于如何在matlab图形上将日期显示为字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在网络技术上将倒计时计时器设为特定日期和时间

matlab如何将一个cell转换成数值型或字符串型

matlab如何将一个cell转换成数值型或字符串型

在matlab中的text函数的用法?

Matlab中tabel如何按照日期列拆分

怎样用matlab将字符串数组转为日期数组??