我在Matlab中的text()函数有问题。
我有一个图,需要标记/标记某些点。 X轴是Matlab自动调整的时间轴,因为我将日期时间用作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');
(希望没有错误,或者正在运行;),在我的手机上键入此内容)
谢谢。
答案 0 :(得分:1)
为什么不直接使用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(请参阅here),而没有NumericRuler(请参阅here),因此会误解您的datenum双精度数字。
get(gca,'XAxis')
ans =
DatetimeRuler with properties:
Limits: [1×2 datetime]
TickValues: [1×5 datetime]
TickLabelFormat: 'MMM dd'
Show all properties