簡體   English   中英

如何在 R 中制作堆疊的 plot

[英]How to make a stacked plot in R

我有我制作的這個 dataframe,我試圖用兩個條形圖制作一個堆疊條形圖,一個用於 Imp15,另一個用於 Imp19。 每個條形圖將被分解為表格列 0、1 和 Na 中的相應數字。 我知道這很簡單,但我無法讓代碼正常工作。

DA <- data.frame(
  Imp =c("IMP15","IMP19"),
  "0"=c(220,209),
  "1"=c(3465,3347),
  "NA"=c(501,630),
  Total=c(4186,4186)
)

有許多(很多)在線資源解釋了如何在 R 中創建堆疊條形圖,但沒有更多詳細信息,例如您嘗試過的代碼和/或您收到的錯誤消息。 我們只能猜測潛在的解決方案。 例如? 這些方法中的任何一種都有幫助嗎? 或者您想讓您的 plot 看起來不一樣?

DA <- data.frame(
  Imp=c("IMP15","IMP19"),
  "0"=c(220,209),
  "1"=c(3465,3347),
  "NA"=c(501,630),
  Total=c(4186,4186)
)

rownames(DA) <- c("IMP15","IMP19")
colnames(DA) <- c("Imp", "0", "1", "NA", "Total")

par(mar=c(5.1, 4.1, 4.1, 8.1), xpd=TRUE)
barplot(t(as.matrix(DA[,2:5])),
        legend.text = c("0", "1", "NA", "Total"),
        args.legend = list(x = "right",
                           inset=c(-0.2,0)))


library(tidyverse)

DA <- data.frame(
  Imp=c("IMP15","IMP19"),
  "0"=c(220,209),
  "1"=c(3465,3347),
  "NA"=c(501,630),
  Total=c(4186,4186),
  check.names = FALSE
)

DA %>%
  pivot_longer(-Imp) %>%
  ggplot(aes(x = Imp, y = value, fill = name)) +
  geom_col(position = "stack")

代表 package (v2.0.1) 於 2021 年 12 月 19 日創建

暫無
暫無

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

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