如何用按钮切换Highcharter可视化的平行钻取维度(国家/性别)
实现Highcharter中可切换维度的平行钻取可视化
我正在R中制作交互式数据可视化,初始向用户展示大陆层级的聚合人口数据,之后希望用户能选择基于两个变量之一进行拆分(一次仅选一个):国家或性别。当前示例已实现按大陆聚合后钻取到国家的功能,代码如下:
library(highcharter) library(dplyr) library(purrr) data <- data.frame( continent = rep(c("Asia", "Europe", "Africa"), each = 6), country = rep(c("AA", "AB", "AC", "BA", "BB", "BC", "CA", "CB", "CC"), each = 2), gender = rep(c('Men', 'Women'), each = 9), pop = c(2, 2, 2, 3, 4, 2, 1, 2, 3, 2, 1, 1, 0, 1, 4, 2, 5, 2) ) column <- data %>% group_by(continent) %>% summarise(pop = sum(pop)) drilldown_country <- data %>% group_nest(continent) %>% mutate( id = continent, type = "column", data = map(data, mutate, name = country, y = pop), data = map(data, list_parse) ) hchart( column, "column", hcaes(x = continent, y = pop, name = continent, drilldown = continent), name = "Population", colorByPoint = TRUE ) |> hc_drilldown( allowPointDrilldown = TRUE, series = list_parse(drilldown_country) )
我需要添加交互按钮,让用户选择钻取维度是国家还是性别,点击大陆条形图后展示对应维度的人口数据。我认为这属于平行钻取的场景,也已经准备好按性别钻取的基础代码,但不确定如何整合到可切换的交互逻辑中:
drilldown_gender <- data %>% group_nest(continent) %>% mutate( id = continent, type = "column", data = map(data, mutate, name = gender, y = pop), data = map(data, list_parse) )
内容的提问来源于stack exchange,提问作者EmilA
相关产品推荐
相关产品推荐

