matlab - Matlab用文本标记日期时间图
问题描述
我对 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
推荐阅读
- python - 何时在 Python 中使用 io.BytesIO() 来修改字符串
- python-3.x - re.compile 中的两种模式
- java - Java HTML XPath 选择器
- php - laravel导航栏中的引导登录表单
- python - 运行 generate_tfrecords.py 文件不会生成文件
- python - 熊猫数据框中的日期格式问题
- c++ - 如何在不使用静态 int 的情况下迭代 CHAR_INFO 结构
- r - 使用插入符号包的 type = "prob" 的 Deepboost 预测不起作用
- xamarin - 无法解析来自“Xamarin.iOS”的“AuthenticationServices.IASAuthorizationControllerDelegate”引用
- flutter - 如何在颤动中一一显示多个警报对话框?