如何在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图形上将日期显示为字符串的主要内容,如果未能解决你的问题,请参考以下文章