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

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

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

最好的问候,

【问题讨论】:

    标签: string datetime matlab figure


    【解决方案1】:

    看看datetick。或者您可能更喜欢rotate tick labelstackoverflow 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)
    

    【讨论】:

      猜你喜欢
      • 2018-06-01
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 1970-01-01
      相关资源
      最近更新 更多