查看: 133|回复: 3|关注: 0

[已解决] 请教一个数据绘图的问题

[复制链接]

新手

21 麦片

财富积分


050


5

主题

14

帖子

0

最佳答案
我有一个数据,两列在excel里面,我把两个数据用column vector 导出。 现在就有两列每列13000多个的数据, 一个是日期 vector 的名称为date,格式是这样的 02-Jan-1962 00:00:00. 另外一列数据名称为price我需要求平均值,方差,low variance 和 high variance。 这些算出来是一个数。

现在我已经用
plot(date, price) 画出曲线图, 但是我们教授要求我们把平均值 和两个variance 作为参照画出三条水平线在同一个图形里面。 因为日期是一个vector  而平均值和方差是一个数, 我不知道如何画出参考线。

请各位大神指教,感激万分!!!!

论坛优秀回答者

中级

1098 麦片

财富积分


5001500


3

主题

772

帖子

172

最佳答案
  • 关注者: 65
发表于 2019-2-7 12:11:21 | 显示全部楼层
hold on;
plot( [min( date ), max( data ) ], [mean( price ), mean( price ) ], 'k' );
plot( [min( date ), max( data ) ], [mean( price ) - var( price ), mean( price ) - var( price ) ] , 'r' );
plot( [min( date ), max( data ) ], [mean( price ) + var( price ), mean( price ) + var( price ) ] , 'b' );

新手

21 麦片

财富积分


050


5

主题

14

帖子

0

最佳答案
 楼主| 发表于 2019-2-7 14:36:35 | 显示全部楼层
TouAkira 发表于 2019-2-7 12:11
hold on;
plot( [min( date ), max( data ) ], [mean( price ), mean( price ) ], 'k' );
plot( [min( dat ...

不好意思,可能我日期这个东西比想象中复杂,我按照你的代码输进去以后出现这个错误
Error using lin (line 9)
Values plotted against x-axis must be datetime values. To create datetime values, use the
DATETIME function.

我现在在想能不能把平均值也弄成一个13000多行的vector  然后直接plot(date,meanvector)
能请教一下这个咋弄吗

论坛优秀回答者

中级

1098 麦片

财富积分


5001500


3

主题

772

帖子

172

最佳答案
  • 关注者: 65
发表于 2019-2-8 08:00:16 | 显示全部楼层 |此回复为最佳答案
jasonlam 发表于 2019-2-7 02:36
不好意思,可能我日期这个东西比想象中复杂,我按照你的代码输进去以后出现这个错误
Error using lin (li ...

本质就是给出两个点(x1,y1),(x2,y2)的坐标, 然后用plot( [x1,x2], [y1,y2] )来画连接两点的线段(也可以用line函数)
你的date数据如果不能直接通过min,max函数求最值,那就自己把对应位置的数据替换成实际数据
你说的另一种方法就是
plot( date, mean(price)*size(date) ) ;   (另两条照着写就是了)
不推荐这种,数据多的时候会占用很多本来可以不必占用的存储空间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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