首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中绘制双年度数据

如何在Matlab中绘制双年度数据
EN

Stack Overflow用户
提问于 2017-05-16 07:30:16
回答 1查看 33关注 0票数 0

我每年有两个数据点,上半年一个,下半年一个。我如何在Matlab中绘制它们呢?例如:

代码语言:javascript
复制
ExampleData = [5; 1; 3; 2; 1; 5]

其中,ExampleData(1)是2008年上半年的值,ExampleData(2)是2008年下半年的值,ExampleData(3)是2009年上半年的值,等等。

我怎样才能有效地转换我的数据,用有意义的轴绘制图表,或者反过来,我可以用哪种类型的轴来处理这些半年一次的数据呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-16 08:49:36

可以为第一个数据点选择一个开始日期。

代码语言:javascript
复制
startdate = datetime(2008, 1, 1); % 1st Jan 2008

然后,给出示例数据,创建一个日期时间向量,该向量有6个月的间隔,并与数据的长度匹配。

代码语言:javascript
复制
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, ...]

那么绘图就容易了

代码语言:javascript
复制
plot(dates, ExampleData);          % plot
set(gca, 'xtick', datenum(dates)); % Set x-axis ticks to be fixed 6-monthly

输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43995072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档