簡體   English   中英

由 HighcharteR 中的 class 組向下鑽取 - R

[英]Drilldown by class group in HighcharteR - R

我有這個數據:

library(highcharter) 
library(dplyr)

the_dates <- as.Date(c(rep("2021-01-01",3),
                       rep("2021-02-01",3)))
the_values <- c(2,3,4,5,6,7)
the_group <- c("Group_A","Group_B","Group_B",
               "Group_A","Group_B","Group_B")
the_class <- c("X","Y","Z",
               "X","Y","Z")

the_data <- data.frame(the_dates,
                       the_group,
                       the_class,
                       the_values,
                       stringsAsFactors = FALSE)
> the_data
   the_dates the_group the_class the_values
1 2021-01-01   Group_A         X          2
2 2021-01-01   Group_B         Y          3
3 2021-01-01   Group_B         Z          4
4 2021-02-01   Group_A         X          5
5 2021-02-01   Group_B         Y          6
6 2021-02-01   Group_B         Z          7

我想創建一個向下鑽取 plot。 所以我想查看這些組,如果我向下鑽取,我想查看 class。 我試過的是:

the_data %>%
  hchart(
    type = "spline",
    hcaes(x = the_dates, y = the_values, drilldown = the_class),
    colorByPoint = TRUE)

但是向下鑽取的鏈接在日期中。 任何幫助將不勝感激。

這是一個潛在的解決方案,但有一些注意事項。

我在向下鑽取 x 軸名稱中遇到了as.Date()的一些問題,因此我將它們保留為字符。 我還在the_datethe_values做了一個快速的mean() ,所以實際上有一些東西可以深入研究。

library(highcharter) 
library(dplyr)
library(purrr) # for the map() function 

the_dates <- c(rep("2021-01-01",3),
               rep("2021-02-01",3))
the_values <- c(2,3,4,5,6,7)
the_group <- c("Group_A","Group_B","Group_B",
               "Group_A","Group_B","Group_B")
the_class <- c("X","Y","Z",
               "X","Y","Z")

the_data <- data.frame(the_dates,
                       the_group,
                       the_class,
                       the_values,
                       stringsAsFactors = FALSE)

mean_data <- the_data %>% 
  group_by(the_dates) %>% 
  summarise(mean_values = mean(the_values))

drill_data <- the_data %>%
  group_nest(the_dates) %>% 
  mutate(
    id   = the_dates,
    type = "column",
    data = map(data, ~ .x %>%
      mutate(
        name = the_class,
        y    = the_values
      ) %>%
      list_parse())
  )

現在讓我們構建 plot:

mean_data %>%
  hchart(
    type = "spline",
    hcaes(x = the_dates, y = mean_values, drilldown = the_dates, name = the_dates),
    name = "Dates",
    colorByPoint = TRUE) %>% 
  hc_drilldown(
    allowPointDrilldown = TRUE,
    series = list_parse(drill_data)
  )

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM