我想繪製一個附加的條形圖,但我希望顏色在類別aa,bb和cc之間有所不同。具體來說,我希望bb中的灰色塊爲紅色,cc中的灰色塊爲綠色。下面的代碼作爲一個簡單的例子,說明了什麼我已經嘗試:堆疊條形圖中每個條的不同顏色 - 基本圖形
aa=c(0.2,0.6,0.1,0.1)
bb=c(0.4,0.5,0.05,0.05)
cc=c(0.5,0.25,0.1,0.15)
x=cbind(aa,bb,cc)
x #the data
aa bb cc
[1,] 0.2 0.40 0.50
[2,] 0.6 0.50 0.25
[3,] 0.1 0.05 0.10
[4,] 0.1 0.05 0.15
默認行爲,所有的塊在每個類別
col=rep(c("white","grey"),2)
col
# [1] "white" "grey" "white" "grey"
barplot(x,col=col)
相同的顏色,但我想在bb
灰色塊是紅色和cc
灰色塊綠色
col=cbind(rep(c("white","grey"),2),rep(c("white","red"),2),rep(c("white","green"),2))
col
[,1] [,2] [,3]
[1,] "white" "white" "white"
[2,] "grey" "red" "green"
[3,] "white" "white" "white"
[4,] "grey" "red" "green"
barplot(x,col=col) #not working
col=c(rep(c("white","grey"),2),rep(c("white","red"),2),rep(c("white","green"),2))
col
[1] "white" "grey" "white" "grey" "white" "red" "white" "red" "white" "green" "white" "green"
barplot(x,col=col) #not working either
的任何建議非常感謝如此。
'barp() ''plotrix'包中的''''可以將一個矩陣提供給'col'--但它只能組合*條形圖,而不是*堆疊*。你可能需要在這裏推出你自己的函數(可能會有很多調用'rect()')。如果你這樣做,請把它張貼在這裏,我會愉快地提高它。 –
該解決方案在此處提供:https://stat.ethz.ch/pipermail/r-help/2007-March/126848.html。但下面的解決方案對我來說更直接,因爲我只需要每條一種顏色。 – Martin