Построение гистограммы с накоплением в ggplot2: представление переменной в процентах от другой переменной - PullRequest
0 голосов
/ 17 июня 2020

Как указано в заголовке, я пытаюсь построить столбчатую диаграмму с накоплением, в которой один стек должен составлять процент от другого стека, а не общий процент.

Приложение выполняет выборку, и я хочу показать размер выборки в процентах от размера генеральной совокупности.

Это то, что я пробовал: таблица слева помещена в полосу диаграмма справа.

enter image description here

Код см. ниже:

temp <- Countemf()
temp$Type <- factor(temp$Type)

temp %>% 
  rename(Environment=Type)%>% 
  tidyr::gather(Class, Size, -Environment ) %>% 
  ggplot(., aes(x=Environment, y=Size, fill=Class)) +
    geom_bar(stat="identity",position = "fill")+  
    scale_y_continuous(labels = scales::percent_format())

1 Ответ

2 голосов
/ 17 июня 2020

Я все еще не уверен, правильно ли я вас понял. Но я решил, что проще прояснить ситуацию на примере. Итак, вот возможное (но, вероятно, не самое элегантное) решение вашей проблемы:

temp <- dplyr::tibble(type=c("Core","Mainframe","Network","Oracle","Unix"),
                      sample=c(2,2,3,2,2),
                      pop=c(4,17,31,3,2))
temp %>%
    dplyr::mutate(diff=pop-sample) %>%
    tidyr::pivot_longer(cols=c(sample,pop,diff)) %>%
    dplyr::filter(name!="pop") %>%
    ggplot2::ggplot(ggplot2::aes(x=type,y=value,fill=name)) +
    ggplot2::geom_bar(stat="identity") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...