繁体   English   中英

如何在Matlab中将X轴单位设置为空图的日期时间?

[英]How to set X-axis units to datetime of empty plot in Matlab?

我用figure;创造了figure; 并没有在上面画任何东西。

在这种情况下,如何设置x轴为datetime时间?

进入

xlim([startTime, endTime]);

原因

Limits must be a 2-element vector of increasing numeric values.

如何完成?

由于xlim函数接受两个数值的向量(第一个为最小值,第二个为最大值),因此可以使用datenum函数将datetime值转换为所需的数值。 例如:

xlim([datenum(startTime) datenum(endTime)]);

为了使您的x轴可读,可以调用datetick ,以便将刻度标签转换回有效的datetime格式。 例如:

datetick('x','dd-mm-yyyy');

这是一个非常基本的示例:

date_beg = datetime(2016,01,01);
date_end = datetime(2017,12,31);
date_seq = date_beg:date_end;

x = datenum(date_seq);
y = 1:numel(date_seq);

plot(x,y);
datetick('x','dd-mm-yyyy');

屏幕

如果要保留x轴限制,请调用datetick keeplimits参数的keeplimits函数。 这是一个重现您的尝试的代码段:

date_beg = datetime(2016,01,01);
date_end = datetime(2017,09,15);

figure();
xlim([datenum(date_beg) datenum(date_end)]);
datetick('x','dd-mm-yyyy','keeplimits');

暂无
暂无

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

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