Сгруппированные столбцы Highcharter, не использующие hchart()
Я пытаюсь создать столбчатую диаграмму с накоплением с помощью Highcharter, и мне нужно создать ее без использования hchart()
функция. У меня есть следующий код (hchart()
часть работ).
data <- data.frame(
building = c("Building A", "Building A", "Building B", "Building B"),
type = c("Rent", "Owned"),
measure = c(100, 35, 124, 150),
measure_target = c(95, 20, 122, 145)
)
# This works
hchart(data, "column", hcaes(x = "building", y = "measure", group = "type")) %>%
hc_plotOptions(column = list(stacking = "normal"))
# How do we go from the above, to something like this?
highchart() %>%
hc_xAxis(categories = data$building) %>%
hc_add_series(type = "column", data = data$measure) %>%
hc_plotOptions(column = list(stacking = "normal"))
Ожидаемый результат ниже. Конечная цель этого состоит в том, чтобы добавить сложенные столбцы и следовать за ним с помощью другого hc_add_series, который добавил бы ряд точек в measure_target
столбец (таким образом, сравнивая фактические данные с целями).
Мне нужно что-то похожее на это:
За исключением двух сложенных баров и одной линии для цели, что-то вроде:
1 ответ
Решение
Что-то вроде этого?
library(highcharter)
library(dplyr)
data <- data.frame(
building = c("Building A", "Building A", "Building B", "Building B"),
type = c("Rent", "Owned"),
measure = c(100, 35, 124, 150),
measure_target = c(95, 20, 122, 145)
)
data_lst <- data %>%
group_by(type) %>%
do(data = list_parse2(.[, c('building', 'measure')])) %>%
rename(name = type) %>%
mutate(type = 'column') %>%
list_parse()
data_lst2 <- data %>%
group_by(type) %>%
do(data = list_parse2(.[, c('building', 'measure_target')])) %>%
rename(name = type) %>%
mutate(type = 'scatter') %>%
list_parse()
highchart() %>%
hc_xAxis(categories = data$building) %>%
hc_add_series_list(data_lst)%>%
hc_add_series_list(data_lst2)%>%
hc_plotOptions(series=list(stacking='normal'))