3

我在从 rCharts 工作中获得高图表时遇到了一些麻烦。我的数据和预期的图表是这样的:

set.seed(123134)
y <- rnorm(20, 35, 4)
y[7] <- NA
y[13] <- NA
y <- rbind(t(t(y)), t(t(rep(NA, 10))))
fc <- rnorm(10, 35, 1)
fc <- rbind(t(t(rep(NA,20))), t(t(fc)))
uci <- rnorm(10, 38, 1)
uci <- rbind(t(t(rep(NA,20))), t(t(uci)))
lci <- rnorm(10, 32, 1)
lci <- rbind(t(t(rep(NA,20))), t(t(lci)))
plotData <- data.frame(y,fc,uci,lci)

h1 <- Highcharts$new()
h1$chart(type="line")
h1$series(data=plotData$y)
h1$series(data=plotData$fc)
h1$series(data=plotData$uci)
h1$series(data=plotData$lci)
h1$series(data=rep(30,30))
h1

大多是一些观测数据,有缺失值、预测和相应的区间以及以水平线显示的一定限度。现在,有些事情我无法弄清楚:

  1. 我希望预测和间隔具有相同的样式。如何将这三个系列的点样式更改为相同的样式?
  2. 水平线不必是交互式的。有没有画一条简单的水平线的选项?我没有让它与来自http://docs.highcharts.com的参考一起工作
  3. 如何从图例中删除某些系列?特别是我不希望将间隔包含在图例中。
  4. 有没有办法在观察到的数据中插入缺失值?还是我必须提前手动执行此操作?
4

1 回答 1

3

嗨@user2691669 欢迎来到SO。我将尝试解决您的 4 个问题。

  1. 要设置样式,请使用带有选项符号 = 的标记your style
  2. 要删除标记,请使用启用选项的标记 =FALSE
  3. 没有在传说中使用的系列节目showInLegend = FALSE
  4. 为了插入缺失值,我能提供的最好的方法是connectNulls = TRUE

您的代码可以编写为实现上述内容:

set.seed(123134)
y <- rnorm(20, 35, 4)
y[7] <- NA
y[13] <- NA
y <- rbind(t(t(y)), t(t(rep(NA, 10))))
fc <- rnorm(10, 35, 1)
fc <- rbind(t(t(rep(NA,20))), t(t(fc)))
uci <- rnorm(10, 38, 1)
uci <- rbind(t(t(rep(NA,20))), t(t(uci)))
lci <- rnorm(10, 32, 1)
lci <- rbind(t(t(rep(NA,20))), t(t(lci)))
plotData <- data.frame(y,fc,uci,lci)

h1 <- Highcharts$new()
h1$chart(type="line")
h1$series(data=plotData$y, marker = list(symbol = 'circle'), connectNulls = TRUE)
h1$series(data=plotData$fc, marker = list(symbol = 'circle'), connectNulls = TRUE)
h1$series(data=plotData$uci, showInLegend = FALSE, marker = list(symbol = 'square'), connectNulls = TRUE)
h1$series(data=plotData$lci, showInLegend = FALSE, marker = list(symbol = 'square'), connectNulls = TRUE)
h1$series(data=rep(30,30), marker= list(enabled = FALSE))
h1

可以在HighCharts api文档中看到各种选项。例如,可以在此链接中找到标记选项。

于 2013-08-17T12:07:31.083 回答