2015-06-11 3 views
2

Я хочу, чтобы создать столбчатую диаграмму, как этот код от быстрого R:Как создать стек гистограмму с узорами, а не цветами в 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 здесь вместе с перекрашенной версией, которую он перевернул по вертикальной линии. Сначала настройте изображения в pic и pic2. (Эти два могут быть заменены любыми двумя изображениями.) Затем создайте контур бруски и, наконец, заполнить их увидеть это больше идей:. 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

Update: R логотип изменился поэтому покажите новый логотип. Также переверните логотип в дополнение к тому, чтобы сделать его розовым, чтобы разницу можно было увидеть и в черно-белом цвете. Добавлены дополнительные комментарии.

+0

Я хочу что-то вроде этой формы, как вы предоставили. Я должен изучить его, чтобы я мог использовать его для создания некоторых диаграмм самостоятельно. Я печатаю его черно-белым, поэтому для более четкого представления диаграмм я хочу заполнить различные разделы стека, как указано выше, с помощью отдельных объектов. Благодарим за руководство. –