在R中绘制交互式时间序列数据

发布时间: 2015-12-22 阅读数: 1329

自从更新我的metricsgraphics包以来,已经有一段时间了。主要有以下几个变化:

  • 对ggplot2新版本的修复(metricsgraphics使用现在ggplot2movies中的movies数据集)
  • 更新了所有的Javascript库到最新版本
  • 通过taucharts增加CSS规则到一个小部件里(mjs_add_css_rule)
  • 增加了一个metricsgarphics插件,使线图区域可以注释(mjs_annotate_region)
  • 启用显色线/面积图(它是底层Metrics-Graphics库的一项新功能)
  • 在指定x,y的时候,你可以使用简单或引用的名称。当然也可以使用变量名
  • 你可以使用你所描述好的metricsgraphics标题,但这样做就废止了之前指定好的高度/宽度模板。并且描述功能只适用于自定义模板

我想,所有的内容都可以表现在下面的代码片段:

library(metricsgraphics)

dat <- read.csv("http://real-chart.finance.yahoo.com/table.csv?s=AAPL&a=07&b=9&c=1996&d=11&e=21&f=2015&g=d&ignore=.csv",
                stringsAsFactors=FALSE)

DATE <- "Date"

dat %>%
  filter(Date>="2008-01-01") %>% 
  mjs_plot(DATE, y="Low", title="AAPL Stock (2008-Present)", width=800, height=500) %>% 
  mjs_line(color="#6a3d9a") %>% 
  mjs_add_line(High, color="#ff7f00") %>% 
  mjs_axis_x(xax_format="date") %>% 
  mjs_add_css_rule("{{ID}} .blk { fill:black }") %>%
  mjs_annotate_region("2013-01-01", "2013-12-31", "Volatility", "blk") %>% 
  mjs_add_marker("2014-06-09", "Split") %>% 
  mjs_add_marker("2012-09-12", "iPhone 5") %>% 
  mjs_add_legend(c("Low", "High"))

注1:metricsgraphics包是一个基于JavaScript的"MetricsGraphics"库来创建交互式图表的R包。 它提供了一个连接到"MetricsGraphics.js"图表库的"htmlwidgets"接口,用来显示时间序列数据。图表类型包括折线图、散点图、直方图、基本的条形图。并且支持多个图表在一个网格上布局。所有的表都是可交互的,并且有许多针对线、标签、和区域注释的选项。目前版本是0.9.0

注2:上述代码已经默认安装和加载了dplyr


本文编译自Update to metricsgraphics 0.9.0 (now on CRAN),作者hrbrmstr。转载请注明链接http://www.xueqing.tv/cms/article/85

分享到:
热门文章

REmap发布,用R绘制百度迁徙图

2015年07月23日更新 21685次阅读

学习R语言,一篇文章让你从懵圈到入

2016年05月09日更新 15365次阅读

在R中填充缺失数据—mice包

2015年12月31日更新 11787次阅读

清华大学教授:大数据时代 统计学依

2015年08月07日更新 11477次阅读

精通 R plot—第一部分:颜色

2016年01月20日更新 10689次阅读

学习Tableau的六大好处(一个

2015年12月24日更新 8575次阅读
热门课程

R语言初级课程

2015年02月20日发布 3293名学员

R语言高效数据清理工具包dplyr

2015年08月30日发布 1724名学员

R语言数据分析入门

2016年05月10日发布 1618名学员

如何用R做数据预处理

2016年06月03日发布 1178名学员

全栈数据工程师养成攻略

2016年11月08日发布 1068名学员

R语言大规模数据分析实战

2015年12月17日发布 959名学员
登录 注册