ggplot2绘图入门系列之五:时间序列(完)

摘要:
ggplot2包还可以绘制时间序列数据,但在处理过程中需要注意一些问题。让我们以上证指数为例来绘制地图。首先,使用quantmod包从1997年以来的Yahoo数据源中获取数据,将其存储在变量SSEC中,提取收盘数字,然后分别提取时间数据和索引值。绘图结果如下图所示。1库(quantmod)2库(ggplot2)3 getSymbol('^SSEC',src='http://t.zoukankan.com/yahoo',来自=

ggplot2包也能对时间序列数据绘图,但在处理上需要有些注意的地方。下面我们以上证指数为例进行作图,首先利用quantmod包从yahoo数据源获取从1997年以来的数据,存于变量SSEC中,抽取收盘数字,然后分别提取时间数据和指数数值,绘图结果如下图。

1 library(quantmod)
2 library(ggplot2)
3 getSymbols('^SSEC',src='yahoo',from = '1997-01-01')
4 close <- (Cl(SSEC))
5 time <- index(close)
6 value <- as.vector(close)
7 p <- ggplot(data.frame(time,value),aes(time,value))
8 p + geom_line()
ggplot2绘图入门系列之五:时间序列(完)第1张

我们希望能够在图中加入一些其它的说明元素,以丰富视图中所包含的信息。这些信息包括用不同的颜色区块来表示“江核心”和“胡核心”的执政时期,以及对中国证券市场的若干大事件进行标注。最后的代码和结果如下。

yrng <- range(value)
xrng <- range(time)
data <- data.frame(start=as.Date(c('1997-01-01','2003-01-01')),end=as.Date(c('2002-12-30','2012-01-20')),core=c('jiang','hu'))
timepoint <- as.Date(c('1999-07-02','2001-07-26','2005-04-29','2008-01-10','2010-03-31'))
events <- c('证券法实施','国有股减持','股权分置改革','次贷危机爆发','融资融券试点')
data2 <- data.frame(timepoint,events,stock=value[time%in% timepoint])
p + geom_line()
  + geom_rect(aes(NULL,NULL,xmin = start, xmax = end, fill = core),ymin = yrng[1],ymax=yrng[2],data = data)
  + scale_fill_manual(values = alpha(c('blue','red'),0.2))
  + geom_text(aes(timepoint, stock, label = events),data = data2,vjust = -2,size = 5)
  + geom_point(aes(timepoint, stock),data = data2,size = 5,colour = alpha('red',0.5))

免责声明:文章转载自《ggplot2绘图入门系列之五:时间序列(完)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mvn打包时,出现数据库连接错误Bootstrap风格zTree树形菜单插件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Prometheus介绍及二进制部署(一)

一、Prometheus是什么 Prometheus是什么Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系统。自2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。为强调开源及独立维护,Prometheus于2016年加入云原生云计算基金会(CNCF),成为继Kubernetes之后的第二个托管项目。 https:...

如何预测股票分析--先知(Prophet)

在上一篇中,我们探讨了自动ARIMA,但是好像表现的还是不够完善,接下来看看先知的力量! 先知(Prophet) 有许多时间序列技术可以用在股票预测数据集上,但是大多数技术在拟合模型之前需要大量的数据预处理。Prophet(先知)由Facebook设计和开发,是一个时间序列预测库,不需要数据预处理,并且非常容易实现。先知的输入是一个带有两列的数据框:日期和...

PromQL-基础

一【简介】 Prometheus提供了一种称为PromQL(Prometheus查询语言)的函数查询语言,允许用户查询和聚合时间序列类型的数据。表达式的结果即可以显示为图形,也可在Prometheus的表达式浏览器中显示为表格数据,除此之外,也可以由外部系统通过HTTP API使用。 二 数据类型 1、即时向量(Instant vector):一组时间序列...

入选 SIGMOD2021 的时间序列多周期检测通用框架 RobustPeriod 如何支撑阿里业务场景?

简介: 本文除了介绍RobustPeriod的核心技术亮点,还将重点解释如何将它构筑成服务来解决阿里云的业务痛点。 近日,由阿里云计算平台和阿里云达摩院合作的时序多周期检测相关论文RobustPeriod: Robust Time-Frequency Mining for Multiple Periodicity Detection被SIGMOD 2021...

R语言从经济时间序列中用HP滤波器,小波滤波和经验模式分解等提取周期性成分分析

原文链接:http://tecdat.cn/?p=9350 经济时间序列的分析通常需要提取其周期性成分。这篇文章介绍了一些方法,可用于将时间序列分解为它们的不同部分。它基于《宏观经济学手册》中Stock和Watson(1999)关于商业周期的章节,但也介绍了一些较新的方法,例如汉密尔顿(2018)替代HP滤波器,小波滤波和经验模式分解。 数据 我使用从...

python代写用广义加性模型GAM进行时间序列分析

原文:http://tecdat.cn/?p=4130 每当你发现一个与时间对应的趋势时,你就会看到一个时间序列。研究金融市场表现和天气预报的事实上的选择,时间序列是最普遍的分析技术之一,因为它与时间有着不可分割的关系 - 我们总是有兴趣预测未来。 时间相关模型一种直观的预测方法是参考最近的时间点。今天的股价可能会比昨天的价格更接近五年前的价格。因此,在...