我每年有两个数据点,上半年一个,下半年一个。我如何在Matlab中绘制它们呢?例如:
ExampleData = [5; 1; 3; 2; 1; 5]其中,ExampleData(1)是2008年上半年的值,ExampleData(2)是2008年下半年的值,ExampleData(3)是2009年上半年的值,等等。
我怎样才能有效地转换我的数据,用有意义的轴绘制图表,或者反过来,我可以用哪种类型的轴来处理这些半年一次的数据呢?
发布于 2017-05-16 08:49:36
可以为第一个数据点选择一个开始日期。
startdate = datetime(2008, 1, 1); % 1st Jan 2008然后,给出示例数据,创建一个日期时间向量,该向量有6个月的间隔,并与数据的长度匹配。
ExampleData = [5; 1; 3; 2; 1; 5];
dates = startdate + calmonths((0:numel(ExampleData)-1)*6);
% dates = [01-Jan-2008, 01-Jul-2008, 01-Jan-2009, 01-Jul-2009, ...]那么绘图就容易了
plot(dates, ExampleData); % plot
set(gca, 'xtick', datenum(dates)); % Set x-axis ticks to be fixed 6-monthly输出:

https://stackoverflow.com/questions/43995072
复制相似问题