查看: 162|回复: 8|关注: 0

[已解决] 如何将普通横坐标轴改成以时间为刻度的横坐标轴?

[复制链接]

新手

18 麦片

财富积分


050


13

主题

42

帖子

0

最佳答案
已知横轴为1:100普通刻度的横坐标轴,
该通过如何抒写代码,才能将上述普通刻度的坐标轴改成以时间为基准的横坐标轴
回复主题 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

294 麦片

财富积分


50500


15

主题

310

帖子

36

最佳答案
  • 关注者: 4
发表于 2020-6-24 10:26:12 | 显示全部楼层
时间刻度坐标轴函数有datetick,datestr,可以查询一下帮助文档,将横坐标转换为自己需要的时间格式。
回复此楼 已获打赏: 0 积分

举报

新手

18 麦片

财富积分


050


13

主题

42

帖子

0

最佳答案
 楼主| 发表于 2020-6-25 19:12:24 | 显示全部楼层
一天人水 发表于 2020-6-24 10:26
时间刻度坐标轴函数有datetick,datestr,可以查询一下帮助文档,将横坐标转换为自己需要的时间格式。 ...

您好,其实您提供的这个方法我试过,但是没有达到自己想要的效果
回复此楼 已获打赏: 0 积分

举报

新手

18 麦片

财富积分


050


13

主题

42

帖子

0

最佳答案
 楼主| 发表于 2020-6-25 19:21:42 | 显示全部楼层
一天人水 发表于 2020-6-24 10:26
时间刻度坐标轴函数有datetick,datestr,可以查询一下帮助文档,将横坐标转换为自己需要的时间格式。 ...

我在给您详细说一下,x轴的范围为1到97的普通刻度,我想将它转化为自己想要的时间刻度,时间范围如附件:

时间区间.txt

1.14 KB, 下载次数: 4

回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

294 麦片

财富积分


50500


15

主题

310

帖子

36

最佳答案
  • 关注者: 4
发表于 2020-6-27 21:20:14 | 显示全部楼层
是不是这个意思?
  1. filename = '时间区间.txt';
  2. delimiter = {''};
  3. startRow = 2;
  4. formatSpec = '%s%[^\n\r]';
  5. fileID = fopen(filename,'r');
  6. dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
  7. fclose(fileID);
  8. time = [dataArray{1:end-1}];
  9. %% 清除临时变量
  10. clearvars filename delimiter startRow formatSpec fileID dataArray ans;
  11. y = randi(10,1,97);
  12. plot(datenum(time, 'yyyy-mm-dd'), y, '--r*');
  13. datetick('x','yyyy-mm-dd');
复制代码
回复此楼 已获打赏: 0 积分

举报

新手

18 麦片

财富积分


050


13

主题

42

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层

因为我是初学者,能不能说下您思路,为什么用plot函数???
回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

294 麦片

财富积分


50500


15

主题

310

帖子

36

最佳答案
  • 关注者: 4
发表于 7 天前 | 显示全部楼层
firstma 发表于 2020-6-29 01:29
因为我是初学者,能不能说下您思路,为什么用plot函数???

代码假设你的txt是横轴数据,纵轴随机产生了和x长度一样的数据,方便测试绘图,plot是为了将图画出来,看看时间坐标的显示效果。
回复此楼 已获打赏: 0 积分

举报

新手

18 麦片

财富积分


050


13

主题

42

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
一天人水 发表于 2020-6-29 08:43
代码假设你的txt是横轴数据,纵轴随机产生了和x长度一样的数据,方便测试绘图,plot是为了将图画出来,看 ...

这个想法个人觉得没毛病。但是如果在一个已经绘制好的图形中,如何将x轴更改为需要的时间轴呢???您这个算法,单独列出来没有任何问题,但是如果在已经绘制好的图形中,很容易造成图形失真。。。
回复此楼 已获打赏: 0 积分

举报

MATLAB 基础讨论
版块优秀回答者

入门

294 麦片

财富积分


50500


15

主题

310

帖子

36

最佳答案
  • 关注者: 4
发表于 7 天前 | 显示全部楼层 |此回复为最佳答案
firstma 发表于 2020-6-29 16:33
这个想法个人觉得没毛病。但是如果在一个已经绘制好的图形中,如何将x轴更改为需要的时间轴呢???您这 ...

那就用xticklabels手动修改。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表