簡體   English   中英

設置Highcharter欄中分組變量的某些值plot默認取消選擇

[英]Set certain values of grouped variable in Highcharter bar plot to be deselected by default

我希望默認取消選擇堆疊的 Highcharter 條形圖中的分組變量的某些值。 我知道使用hc_add_series我可以設置visible = FALSE但我沒有以這種方式生成我的圖表。

這是一個示例數據集:

responses <- c('Pro','Against','Neutral','Resigned/Accepting','Not Specified')
constituents <- c('dual degree','law only','undergrad only','friend','parent only')
indiv <- rep(1:50)
Name.Change <- sample(responses,50,replace = TRUE)
constituent.type <- sample(constituents,50,replace = TRUE)

demo <- as.data.frame(cbind(indiv,Name.Change,constituent.type))

這是圖表

demo %>% 
  group_by(constituent.type,Name.Change) %>%
  summarise(count = n()) %>%
  hchart(type = "bar",
         hcaes(y = count,
               x = constituent.type,
               group = Name.Change)) %>%
  hc_plotOptions(bar = list(stacking = "percent")) %>%
  hc_tooltip(shared = TRUE)

生成的圖表選擇了Name.Change的所有值,並且可以根據需要取消選擇每個值。 但是,我希望默認取消選擇某些值(例如“中性”和“未指定”),以便在呈現圖表后,您必須單擊圖例中的該值才能使其顯示在圖表上.

我認為最好用chart.events.load來做,然后你可以為此編寫自己的自定義JS function: https://api.Z676C9A4107F4D29F41F958B661000

在這里你可以看到如何做到這一點:

responses <- c('Pro','Against','Neutral','Resigned/Accepting','Not Specified')
constituents <- c('dual degree','law only','undergrad only','friend','parent only')
indiv <- rep(1:50)
Name.Change <- sample(responses,50,replace = TRUE)
constituent.type <- sample(constituents,50,replace = TRUE)
demo <- as.data.frame(cbind(indiv,Name.Change,constituent.type))
demo %>% 
  group_by(constituent.type,Name.Change) %>%
  summarise(count = n()) %>%
  hchart(type = "bar",
         hcaes(y = count,
               x = constituent.type,
               group = Name.Change)) %>%
  hc_chart(events = list(load = JS("function() {
  var chart = this;
  chart.series[1].setVisible(false)
  chart.series[2].setVisible(false)
  }"))) %>%
  hc_plotOptions(bar = list(stacking = "percent")) %>%
  hc_tooltip(shared = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM