[英]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.