2

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

下面的所有代码变体都会产生“No data to display”消息,在 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

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))
4

1 回答 1

2

就是这样:

highchart() %>% 
  hc_add_series(data = tib, "errorbar", hcaes(x = datetime_to_timestamp(time), low = min, high = max))  %>%
  hc_xAxis(type = 'datetime')
于 2018-05-23T16:56:50.343 回答