R Shiny Highcharter 如何创建一个向下钻取到另一个饼图的饼图?
Rshiny Highcharter how can I create a piechart that drills down into another pie chart?
我见过的示例是向下钻取到条形图的条形图。但是我似乎找不到在 RShiny 中深入到另一个饼图的饼图示例。
您可以在 hc_drilldown()
中指定 type
参数,如编辑 highcharter reference page 中的示例所示。
library(highcharter)
library(dplyr)
library(purrr)
df <- tibble(
name = c("Animals", "Fruits"),
y = c(5, 2),
drilldown = tolower(name)
)
df
#> # A tibble: 2 x 3
#> name y drilldown
#> <chr> <dbl> <chr>
#> 1 Animals 5 animals
#> 2 Fruits 2 fruits
hc <- highchart() %>%
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(
data = df,
type = "pie",
hcaes(name = name, y = y),
name = "Things",
colorByPoint = TRUE
)
dfan <- data.frame(
name = c("Cats", "Dogs", "Cows", "Sheep", "Pigs"),
value = c(4, 3, 1, 2, 1)
)
dffru <- data.frame(
name = c("Apple", "Organes"),
value = c(4, 2)
)
dsan <- list_parse2(dfan)
dsfru <- list_parse2(dffru)
hc <- hc %>%
hc_drilldown(
allowPointDrilldown = TRUE,
series = list(
list(
id = "animals",
type = "pie",
data = dsan
),
list(
id = "fruits",
type = "pie",
data = dsfru
)
)
)
print(hc)
我见过的示例是向下钻取到条形图的条形图。但是我似乎找不到在 RShiny 中深入到另一个饼图的饼图示例。
您可以在 hc_drilldown()
中指定 type
参数,如编辑 highcharter reference page 中的示例所示。
library(highcharter)
library(dplyr)
library(purrr)
df <- tibble(
name = c("Animals", "Fruits"),
y = c(5, 2),
drilldown = tolower(name)
)
df
#> # A tibble: 2 x 3
#> name y drilldown
#> <chr> <dbl> <chr>
#> 1 Animals 5 animals
#> 2 Fruits 2 fruits
hc <- highchart() %>%
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(
data = df,
type = "pie",
hcaes(name = name, y = y),
name = "Things",
colorByPoint = TRUE
)
dfan <- data.frame(
name = c("Cats", "Dogs", "Cows", "Sheep", "Pigs"),
value = c(4, 3, 1, 2, 1)
)
dffru <- data.frame(
name = c("Apple", "Organes"),
value = c(4, 2)
)
dsan <- list_parse2(dfan)
dsfru <- list_parse2(dffru)
hc <- hc %>%
hc_drilldown(
allowPointDrilldown = TRUE,
series = list(
list(
id = "animals",
type = "pie",
data = dsan
),
list(
id = "fruits",
type = "pie",
data = dsfru
)
)
)
print(hc)