R highcharter - сгруппированные категории - отсутствует метка для группы только с одним значением - PullRequest
0 голосов
/ 30 мая 2018

R Код:

setwd(dirname(rstudioapi::getActiveDocumentContext()$path)) 
options(stringsAsFactors = FALSE)
rm(list = ls()) 
if (!require("pacman")) install.packages("pacman")
pacman::p_load("dplyr","tidyr","highcharter")

raw_data <- read.csv("results.csv")
DT <- data.table(raw_data)

cols <- c('Person','ABC_Capability','ABC_Sub.capability','Leadership.Facet','Facet.Score')
DT <- DT[, cols, with = FALSE]
names(DT) <- c('Person','Capability','Sub_Capability','SVL','Facet_Score')

DT <- dcast(DT, Capability + Sub_Capability + SVL ~ Person, 
            value.var = c('Facet_Score'))

DT1 <- DT %>% 
  group_by(name = Sub_Capability) %>% 
  do(categories = .$SVL) %>% 
  list_parse()


highchart() %>% 
  hc_chart(type = "bar") %>% 
  hc_title(text = "Some Title") %>%
  hc_add_series(name="A", data = DT$Joan) %>% 
  hc_add_series(name="B", data = DT$Shane) %>%
  hc_add_series(name="C", data = DT$Simon) %>%
  hc_xAxis(categories = DT1)

Выход:

enter image description here

Я пытался использовать меньший набор данных и осознавал каждый раз, когда естьодно значение в группе.Ярлык усекается.Например: Развивает людей> Расширение возможностей

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 19 марта 2019

Как упоминал Камил Кулиг, вы можете попробовать создать категории массив вместо vector , и это сработало для меня.Используя предоставленный вами пример кода, это будет:

DT1 <- DT %>% 
  group_by(name = Sub_Capability) %>% 
  # store SVL as array
  do(categories = array(.$SVL)) %>% 
  list_parse()
...