簡體   English   中英

如何在R中制作堆積條形圖

[英]How to make a stacked bar plot in R

我有一個數據集,其中包含有關 13 個不同團隊 (A:M) 的信息。 對於每個團隊,每個團隊的總人數都有一個變量,以及用於測量不同特征的三個不同數字變量。 下面的代碼是我正在嘗試使用的示例:

Team <- c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M")
total <- c(557, 3, 3116, 201, 167, 1348, 877, 1444, 2, 1003, 25, 732, 2532)
characteristic1 <- c(111, 0, 566, 45, 77, 600, 356, 300, 0, 402, 3, 278, 312)
characteristic2 <- c(20, 0, 231, 14, 15, 27, 30, 78, 0, 48, 0, 29, 111)
characteristic3 <- c(1, 0, 29, 1, 0, 10, 11, 3, 0, 2, 9, 1, 3)

df <- data.frame(Team, total, characteristic1, characteristic2, characteristic3)

我想做的是制作一個堆疊(或分組)的條形圖,其中 x 是每個單獨的團隊。 每個團隊中最大的條將是每個團隊的總人數。 然后我想在每個代表特征 1、特征 2 和特征 3 中堆疊條形。 我還考慮過將每個特征作為總數的百分比,但無論哪種方式,我都不確定如何制作條形圖來代表所有內容。 我也願意接受任何其他方式的建議,以最好地表示這些信息,這些信息不會以條形圖的形式出現。 任何幫助將不勝感激!

主要功能是將您的數據以長格式提供。 這里的挑戰可能是總列。 但我們可以將其視為另一個組成員:

library(tidyverse)

df %>% 
  pivot_longer(-Team) %>%
  ggplot(aes(x=Team, y= value, fill = name)) +
  geom_col(position= position_dodge())

如果你想要一個堆積條然后使用position_stack()position_fill()而不是position_dodge()

在此處輸入圖像描述

暫無
暫無

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

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