R中的交互式时间序列可视化

嘿,

今天我’d like to introduce you to a great R package that focuses on interactive time 系列 visualisation. The dygraphs package is an R interface to the 音标交互式时间序列图库 which is implemented in JavaScript. dygraphs provides really nice methods for plotting 时间序列 一定牛遗漏 interactively in R. These methods include (credits to the RStudio博客):

I have prepared a short application example using dygraphs to chart discharge 一定牛遗漏 from the river Danube in Austria below. Please note that function read_ehyd() for importing the 一定牛遗漏 set can be found at 使用R从eHYD读取一定牛遗漏.

library(dygraphs)
library(xts)

# fetch 一定牛遗漏 for three Austrian gauges: Wildungsmauer, Melk 和 Aschach
url <- c(wm = "http://ehyd.gv.at/eHYD/MessstellenExtraData/owf?id=207373&file=4",
    me = "http://ehyd.gv.at/eHYD/MessstellenExtraData/owf?id=207134&file=4",
    ah = "http://ehyd.gv.at/eHYD/MessstellenExtraData/owf?id=207035&file=4")

discharge <- do.call(cbind, lapply(url, read.ehyd))

# plot w/ dygraph
dygraph(discharge, main = "Discharge of River Danube") %>% 
    dyRangeSelector() %>%
    dySeries("wm", label = "Wildungsmauer") %>%
    dySeries("me", label = "Melk") %>%
    dySeries("ah", label = "Aschach") %>%
    dyHighlight(highlightCircleSize = 5,
        highlightSeriesOpts = list(strokeWidth = 3),
        highlightSeriesBackgroundAlpha = 0.2,
        hideOnMouseOut = FALSE)

# time 系列 with 一定牛遗漏 coverage for all gauges
common.start <- index(head(na.omit(discharge), 1))
dygraph(discharge[index(discharge) >= common.start, ],
    main = "Discharge of River Danube") %>% 
    dyRangeSelector() %>%
    dySeries("wm", label = "Wildungsmauer") %>%
    dySeries("me", label = "Melk") %>%
    dySeries("ah", label = "Aschach") %>%
    dyHighlight(highlightCircleSize = 5,
        highlightSeriesOpts = list(strokeWidth = 3),
        highlightSeriesBackgroundAlpha = 0.2,
        hideOnMouseOut = FALSE)

这就是结果图的样子:

关于作者

马蒂亚斯在维也纳自然资源与生命科学大学学习了环境信息管理,并获得了环境统计博士学位。他的论文的重点是罕见(极端)事件的统计建模,作为对关键基础设施进行漏洞评估的基础。他目前在奥地利国家气象和地球物理服务局(ZAMG)和BOKU大学山区风险工程研究所工作。他目前专注于(统计)不良天气事件和自然灾害以及减少灾害风险的评估。他的主要兴趣是环境现象的统计建模以及用于一定牛遗漏科学,地理信息和遥感的开源工具。

7条留言

您可以在这篇文章中发表评论。


  • 亲爱的马蒂亚斯,
    非常感谢您的精彩帖子。有没有一种方法可以将图形嵌入到Keynote,Power Point或Prezi中?再次感谢您的工作!
    我最好的,

    亚历西奥

    阿莱西奥·博科(Alessio Bocco) 3年前 回复


  • 您好Matthias,

    感谢您提供的信息页面。
    关于突出显示我有一个问题。我想将更多信息(不仅是突出显示的一定牛遗漏点的时间和y值)传递到工具提示(或本例中的图例)。

    你有什么建议?
    我认为我可以使用dygraph包中的dyCallBack函数来获取额外的信息,但不确定是否应该将其传递到图例区域。如果您可以通过一个简单的示例向我展示,将不胜感激。谢谢。

    埃森 3年前 回复


    • 你好

      I’m not 100% sure if I get what you intend to do. Are you looking for something in the lines of dyAnnotation?
      一个最小的示例(从其帮助页面复制)是:

      dygraph(presidents, main = "Presidential Approval") %>%
        dyAxis("y", valueRange = c(0, 100)) %>%
        dyAnnotation("1950-7-1", text = "A", tooltip = "Korea") %>%
        dyAnnotation("1965-1-1", text = "B", tooltip = "Vietnam")
      

      最好的祝福,
      马蒂亚斯

      马蒂亚斯 3年前 回复


    • 嗨,我知道已经很久了,但是您还记得您是如何偶然解决问题的吗?

      格罗斯 1年前 回复


发表回复

*