代码之家  ›  专栏  ›  技术社区  ›  Pavel Paltsev

无法让HighCharter绘制时间序列

  •  1
  • Pavel Paltsev  · 技术社区  · 8 年前

    尝试用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))
    

    更新

    能够策划 "line" 通过转换时间变量 datetime_to_timestamp 按建议 here :

    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 回复  |  直到 8 年前
        1
  •  0
  •   Pavel Paltsev    8 年前

    就是这样:

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