創造R.柱狀圖時,我遇到了一個小問題柱狀圖中有3個變量:R:兩組,其中一個是疊
a <- c(3,3,2,1,0)
b <- c(3,2,2,2,2)
c <- 0:4
的柱狀圖中應進行分組'a'和'c','b'應該堆疊在'a'的頂部。單獨進行分組和堆疊很簡單:
barplot(rbind(a,c), beside=TRUE)
barplot(rbind(a,b), beside=FALSE)
如何在一張圖中同時執行這兩個操作?
創造R.柱狀圖時,我遇到了一個小問題柱狀圖中有3個變量:R:兩組,其中一個是疊
a <- c(3,3,2,1,0)
b <- c(3,2,2,2,2)
c <- 0:4
的柱狀圖中應進行分組'a'和'c','b'應該堆疊在'a'的頂部。單獨進行分組和堆疊很簡單:
barplot(rbind(a,c), beside=TRUE)
barplot(rbind(a,b), beside=FALSE)
如何在一張圖中同時執行這兩個操作?
這樣做需要思考如何barplot
繪製堆疊條形。基本上,你需要在適當的地方給它提供一些0值的數據。與您的數據:
mydat <- cbind(rbind(a,b,0),rbind(0,0,c))[,c(1,6,2,7,3,8,4,9,5,10)]
barplot(mydat,space=c(.75,.25))
要看看有什麼引擎蓋下回事,看看mydat
:
> mydat
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
a 3 0 3 0 2 0 1 0 0 0
b 3 0 2 0 2 0 2 0 2 0
0 0 0 1 0 2 0 3 0 4
在這裏,你有三個值繪製各條(值爲a
,值爲b
,值爲c
)。 mydat
矩陣的每列都是一個條,按照ab條適當地與c條散佈的方式進行排序。你可能想要玩弄間距和顏色。
顯然這個版本已經在R-幫助varioustimeswithoutgreatsolutions討論,所以希望這是有幫助的。
嘗試lattice
LIB:
library("lattice")
MyData <- as.data.frame(Titanic)
barchart(Freq ~ Survived | Age * Sex, groups = Class, data = MyData,
auto.key = list(points = FALSE, rectangles = TRUE, space
= "right", title = "Class", border = TRUE), xlab = "Survived",
ylim = c(0, 800))
正如你所看到的分組和ploting是在做一次。
另請參閱:https://stat.ethz.ch/pipermail/r-help/2004-June/053216.html
在這個例子中沒有堆疊在彼此之上,所以它沒有真正實現我的目標。 – Forzaa
也許這將有助於:http://stackoverflow.com/questions/1801064/how-to-separate-two-plots-in-r –