2015-06-11 22 views
2

我想創建一個堆疊條形圖像快讀該代碼堆棧條形圖:如何創建模式,而不是顏色中的R

# Stacked Bar Plot with Colors and Legend 
counts <- table(mtcars$vs, mtcars$gear) 
barplot(counts, main="Car Distribution by Gears and VS", 
xlab="Number of Gears", col=c("darkblue","red"), 
legend = rownames(counts)) 

然而,而是採用顏色遮陽書庫,我想填充對象說圓和三角形。我如何在R中去解決它?謝謝。

回答

3

有一些關於你真正想要的問題,但也許這會讓你開始。我們將在此使用R徽標的圖像,並將其重新着色的版本翻轉在垂直線上。首先在picpic2中設置圖像。 (這兩個可以與任何兩個圖像進行更換。)然後創建輪廓條和最後填充它們更多的想法請參見本:Wanted: repeated-pictogram visualization of population split

# grab image of R logo 
URL <- "http://www.r-project.org/Rlogo.png" 
download.file(URL, "Rlogo.png", mode = "wb") 
library(png) 
pic <- readPNG("Rlogo.png") 

# create a pink flipped version (or read in another image) 
pic2 <- pic 
pic2[,, 1] <- pic2[,, 4] # make pink 
pic2 <- pic2[, 200:1,] # flip 

# create outline of bars 
counts <- table(mtcars$vs, mtcars$gear) 
bp <- barplot(counts, col = "white") 

# fill in with blue and pink reversed logos 
for(i in seq_along(bp)) { 
    # args are image, xleft, ybottom, xright, ytop 
    rasterImage(pic, bp[i]-0.5, 0, bp[i]+0.5, counts[1,i]) 
    rasterImage(pic2, bp[i]-0.5, counts[1,i], bp[i]+0.5, sum(counts[,i])) 
} 

screenshot

更新: [R標誌已經改變所以顯示新的標誌。除了使它變成粉紅色以外,還可以翻轉標誌,因此在黑色和白色中也可以看到不同的標誌。添加了其他評論。

+0

我想要你提供的這種形式的東西。我必須研究它,以便我可以使用它自行生成一些圖表。我將它打印成黑白色,因此爲了更清晰地查看圖表,我想用不同的對象填充上面堆疊的各個部分。感謝您的指導。 –

相關問題