【问题标题】:R Highcharter - highlight same group in multiple stacked columns chart + order groups in columnsR Highcharter - 在多个堆积柱形图中突出显示同一组+列中的顺序组
【发布时间】:2021-12-09 05:52:54
【问题描述】:

R新手在这里:)
我最近开始使用 R 库 Highcharter 作为 ggplot2 的替代品。

这是我目前正在处理的示例代码:

library(highcharter)
library(dplyr)

## Sample dataframe

YEAR <- c(2019,2020,2021) 
CATEGORY <- c("dog", "cat", "mouse")
SAMPLE_DATA <- expand.grid(YEAR, CATEGORY)
names(SAMPLE_DATA)[1] <- "CATEGORY"
names(SAMPLE_DATA)[2] <- "YEAR"
SAMPLE_DATA$VALUE <- runif(n = 9, min = 400, max = 900) 


## Chart 

SAMPLE_DATA <- SAMPLE_DATA %>% 
  group_by(YEAR, CATEGORY) %>% 
  summarise(VALUE = sum(VALUE, na.rm = T)) 
  
highchart() %>%
  hc_add_series(data = SAMPLE_DATA, hcaes(x = YEAR, y = round(VALUE,0), group = CATEGORY), type = "column") %>%
  hc_plotOptions(column = list(stacking = "normal")) 

我想做的是:

  1. 根据升序/降序“VALUE”对“CATEGORY”组在每列中的堆积方式进行排序
  2. 当您将鼠标悬停在同一组上时,该效果会突出显示所有列中的同一组

有人有想法吗?谢谢!

【问题讨论】:

    标签: r highcharts r-highcharter


    【解决方案1】:

    这是一个迟到的答案,但我相信这就是你想要的。

    再次添加数据,因为我认为您不小心交换了一些列名:

    YEAR <- c(2019,2020,2021) 
    CATEGORY <- c("dog", "cat", "mouse")
    SAMPLE_DATA <- expand.grid(YEAR, CATEGORY)
    names(SAMPLE_DATA)[1] <- "YEAR"
    names(SAMPLE_DATA)[2] <- "CATEGORY"
    SAMPLE_DATA$VALUE <- runif(n = 9, min = 400, max = 900) 
    
    
    ## Chart 
    
    SAMPLE_DATA <- SAMPLE_DATA %>% 
      group_by(YEAR, CATEGORY) %>% 
      summarise(VALUE = sum(VALUE, na.rm = T)) 
    

    创建情节:

    SAMPLE_DATA %>% 
      ungroup() %>% 
      mutate(YEAR = factor(YEAR) %>% fct_reorder(VALUE, .desc = TRUE)) %>% 
      mutate(year_index = as.numeric(YEAR)) %>% 
      hchart(
        type = "column",
        hcaes(x = year_index,
              y = VALUE,
              group = CATEGORY,
              name = YEAR),
      ) %>%
      hc_xAxis(type = "category", labels = list(step = 1)) %>% 
      hc_plotOptions(series = list(stacking = TRUE))
    

    【讨论】:

      猜你喜欢
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2019-06-13
      • 1970-01-01
      相关资源
      最近更新 更多