2016-06-02 2 views
0

Я имею дело с данными кадра в R, который выглядит, как этотсложены barplot в R условной окраски

test <- data.frame(c(1:4),c(5:8),c(9:12),c(13:16)) 
names(test) <- c("position","totalA","totalB","totalC") 

Нет, я хочу создать многослойную barplot, где все бары находятся в черном, за исключением 1 значение позиции, то я хочу, различные цвета для «тотала», «totalB» и «общего уровняв»

Это то, что я сделал, чтобы создать barplot

test.transposed <- setNames(data.frame(t(test[,-1])), test [,1]) 
barplot(as.matrix(test.transposed)) 

так что теперь все бары условно цветные, но это должно y в случае, когда позиция == 2. Для остальных все бары должны быть черными.

Осторожно я не могу использовать ggplot2, чтобы сделать это ...

+0

Так, в транспонированной версии данных/участка, вы хотите, чтобы 3 черные полосы и второй были в цвете? –

+0

действительно. Правильно – user1987607

ответ

1

Вот Hacky способ сделать это:

test.transposed2 <- rbind(test.transposed, 'total' = apply(test.transposed,2,sum)) 
test.transposed2[1:3, -2] = 0 
test.transposed2[4,2] = 0 
barplot(as.matrix(test.transposed2[c(4,1,2,3),])) 

enter image description here

Смежные вопросы