R语言 如何使用dygraphs的交互式时间序列图

R语言 如何使用dygraphs的交互式时间序列图

dygraphs指的是动态图形,它导致了一种在用户和图形之间建立互动的简单方法。dygraphs主要用于时间序列分析。dygraphs包是R编程语言中dygraphs JavaScript图表库的一个R接口。

创建简单的dygraphs

让我们拿股票数据来更好地理解时间序列。

通过使用getSymbols()从quantmod库中下载(Tesla)股票数据。我们将绘制5个不同的动态图。

  • 系列颜色
  • 垂直和水平阴影
  • 烛台
  • 上/下栏
  • 范围选择器

首先,在rstudio中安装dygraphs和quantmod包。

install.packages(“dygraphs”)

install.pack ages(“quantmod”)

你可以直接从这个链接下载数据。TSLA股票数据

这里,OHLC代表股票数据中每期的开盘价、最高价、最低价和收盘价。因此,我们正在获取这个参数并将其存储在价格变量中。

# import library
library(dygraphs)
library(quantmod)
  
# download data 
getSymbols("TSLA")
  
# view top 5 row data
head(TSLA,n=5)
  
# Get OHLC data 
price<-OHLC(TSLA)
head(price, n=5)

输出

如何在R中使用dygraphs的交互式时间序列图

颜色

系列颜色图

Dygraph可以为每条可视化线分配不同的颜色调色板。例如,我们在TSLA数据中的四个参数(开盘价、最高价、最低价、收盘价)可以用不同的颜色表示。Dygraph提供了dyOptions(),其中的颜色参数可以很好地识别每条股票线。

# RColorBrewer used to create nice color palettes 
# display.brewer.pal(n, name)
dygraph(price, main = "TSLA Stock price analysis") %>% 
    dyOptions(colors = RColorBrewer::brewer.pal(4, "Dark2"))

输出

如何在R中使用dygraphs的交互式时间序列图

可视化股票价格的4个参数

垂直和水平阴影

垂直阴影

Dygraph可以在时间线部分分配阴影特征,以分析不同的时间间隔。通过使用dyshading,我们可以将时间间隔分配给颜色,以便更好地分析股票部分。

dygraph(price, main = "TSLA Stock price analysis") %>% 
     dySeries(label = "Temp (F)",
              color = "black") %>%
     dyShading(from = "2018-1-1",
               to = "2019-12-1", 
               color = "#FFE6E6") %>%
     dyShading(from = "2020-1-1", 
               to = "2021-1-1",
               color = "#CCEBD6")

输出

如何在R中使用dygraphs的交互式时间序列图

水平遮光

Dygraphs通过使用平均值和标准偏差提供水平阴影。我们可以在阴影中指定区间,并将轴参数分配给y。

ret = ROC(TSLA[, 4])
mn = mean(ret, na.rm = TRUE) #mean
std = sd(ret, na.rm = TRUE) #standard deviation
dygraph(ret, main = "TSLA Share Price") %>% 
     dySeries("TSLA.Close", label = "TSLA") %>%
     dyShading(from = mn - std, to = mn + std, axis = "y")

输出

如何在R中使用dygraphs的交互式时间序列图

灰色的水平阴影

烛台图

烛台图是股票市场上专业交易员最常用的,用于根据过去的数据预测价格走势。 dygraph只需一行命令就能轻松绘制此图。在这里,我们存储了过去30天的股票数据来创建一个蜡烛图。红柱显示股票下跌,绿柱显示股票上涨。

TSLA <- tail(TSLA, n=30)
graph <- dygraph(OHLC(TSLA))
dyCandlestick(graph)

输出

如何在R中使用dygraphs的交互式时间序列图

蜡烛图

上/下栏

我们可以创建多个系列,其中每个系列在阴影方面都有一个上/下条,就像误差条一样。在下面的图表中,显示了亚马逊和特斯拉系列的例子。

# import tesla and amazon stock price
getSymbols("AMZN")
stocks <- cbind(AMZN[,2:4], TSLA[,2:4])
  
# plot graph
dygraph(stocks, main = "Amazon and Tesla Share Prices") %>% 
     dySeries(c("AMZN.Low", "AMZN.Close",
                "AMZN.High"), label = "AMZN") %>%
     dySeries(c("TSLA.Low", "TSLA.Close", 
                "TSLA.High"), label = "TSLA")

输出

如何在R中使用dygraphs的交互式时间序列图

上/下条形图

范围选择器

我们可以通过dyRangeSelector()函数在dygraph图表的底部添加一个范围选择器,以方便平移和缩放的界面。

dygraph(TSLA, 
        main = "Tesla Stock Price Analysis")
%>% dyRangeSelector()

输出

如何在R中使用dygraphs的交互式时间序列图

从下面选择范围

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程