使用rCharts hPlot显示多个时间序列

时间:2014-05-08 06:21:32

标签: r highcharts shiny rcharts

使用简单的数据框来说明这个问题:

df <- data.frame(x=c(1,2,3), y1=c(1,2,3), y2=c(3,4,5))

单时间序列图很简单:

hPlot(y="y1", x="x", data=df)

无法弄清楚如何同时绘制y1和y2。试过这个,但它返回一个错误

> hPlot(x='x', y=c('y1','y2'), data=df)

Error in .subset2(x, i, exact = exact) : subscript out of bounds

检查hPlot中使用[[从输入data.frame中提取一列的代码,是否只适用于单个时间序列?

hPlot <- highchartPlot <- function(..., radius = 3, title = NULL, subtitle = NULL, group.na = NULL){
rChart <- Highcharts$new()

# Get layers
d <- getLayer(...)

data <- data.frame(
    x = d$data[[d$x]],
    y = d$data[[d$y]]
)

1 个答案:

答案 0 :(得分:6)

尝试使用group的长格式数据:

hPlot(x = "x", y = "value", group = "variable", data = reshape2::melt(df, id.vars = "x"))