繁体   English   中英

Matlab用文本标记日期时间图

[英]Matlab mark datetime plot with text

我在Matlab中的text()函数有问题。

我有一个图,需要标记/标记某些点。 X轴是Matlab自动调整的时间轴,因为我使用datetime作为X输入。

奇怪的是,我无法在简单地使用datenum进行转换的同时使用text()。

有没有办法做到这一点?

t1 = datetime(2013,11,1,8,0,0);
t2 = datetime(2013,11,5,8,0,0);
t = t1:t2;
y = 1:5;
hold on
plot(t, y);
% wrong x position -> not visible
text(datenum(t1), 0, 'Test');

(希望没有错误或正在运行;),在我的手机上键入此内容)

提前致谢。

为什么不直接使用t1?

t1 = datetime(2013,11,1,8,0,0);
t2 = datetime(2013,11,5,8,0,0);
t = t1:t2;
y = 1:5;
hold on
plot(t, y);
text(t1, 2, 'Test');
text(t2, 2, 'Test2');

在此处输入图片说明

XAxis是DatetimeRuler(请参阅此处 ),而不是NumericRuler(请参阅此处 ),因此会误解您的datenum双精度数字。

get(gca,'XAxis')
ans = 
  DatetimeRuler with properties:

             Limits: [1×2 datetime]
         TickValues: [1×5 datetime]
    TickLabelFormat: 'MMM dd'

  Show all properties

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM