簡體   English   中英

在R中創建分組堆積條形的簡單方法

[英]simple way to create grouped stacked bar in R

我有兩個3x2矩陣A和B:

A:

          n2  n3
Part1     1   5
Part2     2   6
Part3     3   7

B:

          n2  n3   
Part1     5   1 
Part2     6   2   
Part3     7   3  

我想基於A和B的n2,n3列創建堆疊的條,然后將堆疊的條分組,以便將A和B的n2並排分組,而n3則相同。 這是我嘗試過的:

  d1 <- read.csv("A.csv", header=T, dec=".",sep = " ")
  d1 <- subset(d1, select = c(n2, n3))

  d2 <- read.csv("B.csv", header=T, dec=".",sep = " ")
  d2 <- subset(d2, select = c(n2, n3))

  d <- cbind(d1[,1],d2[,1],d1[,2],d2[,2])

  barplot(t(d), beside=T, ,col=c("lawngreen","firebrick","deepskyblue"),
          space=c(0,0,0.2,0))

它產生: 在此處輸入圖片說明

哪些條被分組,但是沒有堆疊,並且顏色也被誤用。 當我將條形圖更改為以下內容時,將產生以下圖:

   barplot(t(d), col=c("lawngreen","firebrick","deepskyblue"), 
           space=c(0,0,0.2,0))

在此處輸入圖片說明

錯誤地堆疊和錯誤分組的條。 如果您是我的新手,請幫助我解決此問題,我們深感感謝:

barplot()使用輸入矩陣的列將條形圖分組。 使用它作為數據:

> (d <- matrix((1:7)[-4],ncol=2)[,c(1,2,2,1)])
     [,1] [,2] [,3] [,4]
[1,]    1    5    5    1
[2,]    2    6    6    2
[3,]    3    7    7    3

您可以從之前的代碼中刪除轉置:

barplot(d, col=c("lawngreen","firebrick","deepskyblue"), space=c(0,0,0.2,0))

堆積條形圖

暫無
暫無

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

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