Развернуть с помощью Highcharter в R - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь использовать некоторые диаграммы с использованием highcharter. Из примера я только что попытался использовать тот же самый dataframe. Но когда я делаю так, он показывает все категории на оси x вместо групп cars,animals,fruits. Ниже приведен код:

library(highcharter)

df <- data.frame(
  name = c("Toyota", "Ford", "Volkswagen", "Cats", "Dogs", "Cows", "Sheep", "Pigs", "Apple", "Oranges"),
  value = c(4, 2, 2, 4, 3, 1, 2, 1, 4, 2),
  id = c(rep("cars",3), rep("animals",5), rep("fruits",2)),
  stringsAsFactors = FALSE
)

hc <- highchart() %>%
  hc_chart(type = "column") %>%
  hc_title(text = "Basic drilldown") %>%
  hc_xAxis(type = "category") %>%
  hc_legend(enabled = FALSE) %>%
  hc_plotOptions(
    series = list(
      boderWidth = 0,
      dataLabels = list(enabled = TRUE)
    )
  ) %>%
  hc_add_series(name = "Things",colorByPoint = TRUE,data = df)

second_el_to_numeric <- function(ls){
   map(ls, function(x){
    x[[2]] <- as.numeric(x[[2]])
    x
  })
}

dsan <- second_el_to_numeric(list_parse2(df %>% filter(id == "animals")))
dsfru <- second_el_to_numeric(list_parse2(df %>% filter(id == "fruits")))
dscar <- second_el_to_numeric(list_parse2(df %>% filter(id == "cars")))


hc %>%
  hc_drilldown(
    allowPointDrilldown = TRUE,
    series = list(
      list(id = "animals", data = dsan),
      list(id = "fruits", data = dsfru),
      list( id = "cars",data = dscar)
    )
  )

Сюжет выглядит так: enter image description here

Также здесь я выполняю фильтрацию по идентификаторам с жестко закодированными значениями. Как я могу добиться того же, где я хочу пройти через уникальные идентификаторы и генерировать категории.

...