无法让Highcharter绘制时间序列

时间:2018-05-23 15:55:55

标签: r r-highcharter

尝试使用Highcharter

绘制一些时间序列数据

数据如下:

time <- c("2018-04-23 10:14:39 UTC", "2018-04-23 10:16:41 UTC", "2018-04-23 10:16:42 UTC", "2018-04-23 10:16:51 UTC", "2018-04-23 10:16:54 UTC", "2018-04-23 10:18:23 UTC")
min <- c(0.00020522, 0.00020520, 0.00020517, 0.00020500, 0.00020500, 0.00020522)
max <- c(0.00020527, 0.00020525, 0.00020517, 0.00020550, 0.00020500, 0.00020522)

dff <- data.frame(min, max) 
dff$time <- as.POSIXct(time)
tib <- as_tibble(dff)

以下所有代码变体都会产生“无数据显示”消息,在Linux和Windows上也是如此:

hchart(tib, type = "errorbar", hcaes(x = time, ymin = min, ymax = max))
highchart() %>% hc_add_series(tib, "errorbar", hcaes(x = time, ymin = min, ymax = max))
hchart(tib, type = "errorbar", hcaes(x = datetime_to_timestamp(time), ymin = min, ymax = max))
highchart() %>% hc_add_series(tib, "errorbar", hcaes(x = datetime_to_timestamp(time), ymin = min, ymax = max))

更新

能够根据建议here使用"line"转换时间变量来绘制datetime_to_timestamp

highchart() %>% hc_add_series(tib, "line", hcaes(x = datetime_to_timestamp(time), y = min))
hchart(tib, type = "line", hcaes(x = datetime_to_timestamp(time), y = min))

同时,错误栏ggplot代码正常工作:

ggplot() +   geom_errorbar(data = tib, aes(x = time, ymin = min, ymax = max))

1 个答案:

答案 0 :(得分:0)

就是这样:

highchart() %>% 
  hc_add_series(data = tib, "errorbar", hcaes(x = datetime_to_timestamp(time), low = min, high = max))  %>%
  hc_xAxis(type = 'datetime')