【问题标题】:Highcharter time series with hours and by group does not plot具有小时数和分组的 Highcharter 时间序列不绘图
【发布时间】:2022-01-20 15:50:20
【问题描述】:

如何在 R 中使用 highcharter 按组(周期)制作时间序列图表?

下面的代码没有画线,我不知道为什么。

a %>%
  highcharter::hchart("line", hcaes(x = date, y = players, group = period)) %>%
  highcharter::hc_xAxis(title = list(text = "Player"))
a <- tibble::tribble(
  ~date, ~players, ~period,
  "2021-12-15 00:00:00",     2303,     "b",
  "2021-12-15 01:00:00",     2463,     "b",
  "2021-12-15 02:00:00",     2525,     "b",
  "2021-12-15 03:00:00",     2359,     "b",
  "2021-12-15 04:00:00",     2046,     "b",
  "2021-12-15 05:00:00",     1583,     "b",
  "2021-12-15 06:00:00",     1262,     "b",
  "2021-12-15 07:00:00",      879,     "b",
  "2021-12-15 08:00:00",      638,     "b",
  "2021-12-15 09:00:00",      511,     "b",
  "2021-12-15 10:00:00",      554,     "b",
  "2021-12-15 11:00:00",      788,     "b",
  "2021-12-15 12:00:00",     1036,     "b",
  "2021-12-15 13:00:00",     1300,     "b",
  "2021-12-15 14:00:00",     1449,     "b",
  "2021-12-15 15:00:00",     1727,     "b",
  "2021-12-15 16:00:00",     1818,     "b",
  "2021-12-15 17:00:00",     1916,     "b",
  "2021-12-15 18:00:00",     1924,     "b",
  "2021-12-15 19:00:00",     1918,     "b",
  "2021-12-15 20:00:00",     1941,     "b",
  "2021-12-15 21:00:00",     2042,     "b",
  "2021-12-15 22:00:00",     2063,     "b",
  "2021-12-15 23:00:00",     2160,     "b",
  "2021-12-16 00:00:00",     2347,     "b",
  "2021-12-16 01:00:00",     2348,     "b",
  "2021-12-16 02:00:00",     2420,     "b",
  "2021-12-16 03:00:00",     2295,     "b",
  "2021-12-16 04:00:00",     2032,     "b",
  "2021-12-16 05:00:00",     1582,     "b",
  "2021-12-16 06:00:00",     1168,     "b",
  "2021-12-16 07:00:00",      830,     "b",
  "2021-12-16 08:00:00",      637,     "b",
  "2021-12-16 09:00:00",      521,     "b",
  "2021-12-16 10:00:00",      433,     "b",
  "2021-12-16 11:00:00",       68,     "b",
  "2021-12-15 00:00:00",     2555,     "a",
  "2021-12-15 01:00:00",     2767,     "a",
  "2021-12-15 02:00:00",     2738,     "a",
  "2021-12-15 03:00:00",     2496,     "a",
  "2021-12-15 04:00:00",     2224,     "a",
  "2021-12-15 05:00:00",     1761,     "a",
  "2021-12-15 06:00:00",     1316,     "a",
  "2021-12-15 07:00:00",      916,     "a",
  "2021-12-15 08:00:00",      702,     "a",
  "2021-12-15 09:00:00",      551,     "a",
  "2021-12-15 10:00:00",      595,     "a",
  "2021-12-15 11:00:00",      834,     "a",
  "2021-12-15 12:00:00",     1156,     "a",
  "2021-12-15 13:00:00",     1407,     "a",
  "2021-12-15 14:00:00",     1627,     "a",
  "2021-12-15 15:00:00",     1859,     "a",
  "2021-12-15 16:00:00",     1974,     "a",
  "2021-12-15 17:00:00",     2078,     "a",
  "2021-12-15 18:00:00",     2129,     "a",
  "2021-12-15 19:00:00",     2202,     "a",
  "2021-12-15 20:00:00",     2177,     "a",
  "2021-12-15 21:00:00",     2271,     "a",
  "2021-12-15 22:00:00",     2367,     "a",
  "2021-12-15 23:00:00",     2416,     "a",
  "2021-12-16 00:00:00",     2606,     "a",
  "2021-12-16 01:00:00",     2658,     "a",
  "2021-12-16 02:00:00",     2747,     "a",
  "2021-12-16 03:00:00",     2558,     "a",
  "2021-12-16 04:00:00",     2256,     "a",
  "2021-12-16 05:00:00",     1794,     "a",
  "2021-12-16 06:00:00",     1269,     "a",
  "2021-12-16 07:00:00",      947,     "a",
  "2021-12-16 08:00:00",      682,     "a",
  "2021-12-16 09:00:00",      592,     "a",
  "2021-12-16 10:00:00",      623,     "a",
  "2021-12-16 11:00:00",      844,     "a"
) %>% 
  dplyr::mutate(date = lubridate::ymd_hms(date))

当我像下面的代码一样转换日期变量时,它对我有用。但是,x 轴看起来很糟糕,我想将它作为日期而不是整数。

  dplyr::mutate(date = highcharter::datetime_to_timestamp(date)) %>% 
  highcharter::hchart("line", highcharter::hcaes(x = date, y = players, group = period)) %>%
  highcharter::hc_xAxis(title = list(text = "Player"))

【问题讨论】:

  • 您想使用highcharter 还是任何解决方案都行得通?
  • 我想使用highcharter
  • 使用您逐字提供的代码,问题在于 hcaes 的使用必须是 highcharter::hcaes 并且它为我绘制了线条。
  • 谢谢。当数据读入时,它作为一个字符读入,所以我将它修改为一个日期。它仍然对我不起作用。它是否适用于修改后的数据集?
  • 它不会为您生产任何东西吗?您是否加载了ggplot2 库?尽管我已加载必要的 ggplot2 库,但它无需修改即可为我绘图

标签: r r-highcharter


【解决方案1】:

我没有关注您的问题所在,但是当我运行以下代码时,我得到了以下情节。请注意,尽管调用了highcharter 包,我仍需要加载ggplot2

# Provided data
a <- tibble::tribble(
  ~date, ~players, ~period,
  "2021-12-15 00:00:00",     2303,     "b",
  "2021-12-15 01:00:00",     2463,     "b",
  "2021-12-15 02:00:00",     2525,     "b",
  "2021-12-15 03:00:00",     2359,     "b",
  "2021-12-15 04:00:00",     2046,     "b",
  "2021-12-15 05:00:00",     1583,     "b",
  "2021-12-15 06:00:00",     1262,     "b",
  "2021-12-15 07:00:00",      879,     "b",
  "2021-12-15 08:00:00",      638,     "b",
  "2021-12-15 09:00:00",      511,     "b",
  "2021-12-15 10:00:00",      554,     "b",
  "2021-12-15 11:00:00",      788,     "b",
  "2021-12-15 12:00:00",     1036,     "b",
  "2021-12-15 13:00:00",     1300,     "b",
  "2021-12-15 14:00:00",     1449,     "b",
  "2021-12-15 15:00:00",     1727,     "b",
  "2021-12-15 16:00:00",     1818,     "b",
  "2021-12-15 17:00:00",     1916,     "b",
  "2021-12-15 18:00:00",     1924,     "b",
  "2021-12-15 19:00:00",     1918,     "b",
  "2021-12-15 20:00:00",     1941,     "b",
  "2021-12-15 21:00:00",     2042,     "b",
  "2021-12-15 22:00:00",     2063,     "b",
  "2021-12-15 23:00:00",     2160,     "b",
  "2021-12-16 00:00:00",     2347,     "b",
  "2021-12-16 01:00:00",     2348,     "b",
  "2021-12-16 02:00:00",     2420,     "b",
  "2021-12-16 03:00:00",     2295,     "b",
  "2021-12-16 04:00:00",     2032,     "b",
  "2021-12-16 05:00:00",     1582,     "b",
  "2021-12-16 06:00:00",     1168,     "b",
  "2021-12-16 07:00:00",      830,     "b",
  "2021-12-16 08:00:00",      637,     "b",
  "2021-12-16 09:00:00",      521,     "b",
  "2021-12-16 10:00:00",      433,     "b",
  "2021-12-16 11:00:00",       68,     "b",
  "2021-12-15 00:00:00",     2555,     "a",
  "2021-12-15 01:00:00",     2767,     "a",
  "2021-12-15 02:00:00",     2738,     "a",
  "2021-12-15 03:00:00",     2496,     "a",
  "2021-12-15 04:00:00",     2224,     "a",
  "2021-12-15 05:00:00",     1761,     "a",
  "2021-12-15 06:00:00",     1316,     "a",
  "2021-12-15 07:00:00",      916,     "a",
  "2021-12-15 08:00:00",      702,     "a",
  "2021-12-15 09:00:00",      551,     "a",
  "2021-12-15 10:00:00",      595,     "a",
  "2021-12-15 11:00:00",      834,     "a",
  "2021-12-15 12:00:00",     1156,     "a",
  "2021-12-15 13:00:00",     1407,     "a",
  "2021-12-15 14:00:00",     1627,     "a",
  "2021-12-15 15:00:00",     1859,     "a",
  "2021-12-15 16:00:00",     1974,     "a",
  "2021-12-15 17:00:00",     2078,     "a",
  "2021-12-15 18:00:00",     2129,     "a",
  "2021-12-15 19:00:00",     2202,     "a",
  "2021-12-15 20:00:00",     2177,     "a",
  "2021-12-15 21:00:00",     2271,     "a",
  "2021-12-15 22:00:00",     2367,     "a",
  "2021-12-15 23:00:00",     2416,     "a",
  "2021-12-16 00:00:00",     2606,     "a",
  "2021-12-16 01:00:00",     2658,     "a",
  "2021-12-16 02:00:00",     2747,     "a",
  "2021-12-16 03:00:00",     2558,     "a",
  "2021-12-16 04:00:00",     2256,     "a",
  "2021-12-16 05:00:00",     1794,     "a",
  "2021-12-16 06:00:00",     1269,     "a",
  "2021-12-16 07:00:00",      947,     "a",
  "2021-12-16 08:00:00",      682,     "a",
  "2021-12-16 09:00:00",      592,     "a",
  "2021-12-16 10:00:00",      623,     "a",
  "2021-12-16 11:00:00",      844,     "a"
) 

运行代码:

library(ggplot2)

a %>%
  highcharter::hchart("line", highcharter::hcaes(x = date, y = players, group = period)) %>%
  highcharter::hc_xAxis(title = list(text = "Players"))

在 RStudio 的“查看器”选项卡(不是“绘图”)中返回此绘图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-02
    • 2020-06-01
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多