Я думаю, что это может сделать то, что вам нужно. Я просто изменил порядок цветов в
values(...)
Теперь ваше изображение должно иметь светлые цвета вверху и жирные цвета внизу. Вот полный код.
ggplot(data=gluft, aes(x=nac, y=value, group=mito))+
geom_bar(aes(fill=int),
stat = "identity",
position=position_dodge())+
scale_fill_manual(
breaks=c("WT.GSHr","COX.GSHr","BAR.GSHr","WT.diff","COX.diff","BAR.diff"),
values=c("lightblue","lightgreen","pink","blue4", "green4","red2"))
Ура; -)
Хорошо, теперь я понимаю, что вы просили. Я нашел решение без использования ggplot2, и это, вероятно, не самое элегантное, но оно делает свое дело. Сначала я уменьшил набор данных, включив в него только необходимые столбцы. Затем использовал функцию spread () из пакета tidyr, чтобы перевести df из длинного формата в широкий. Затем я построил составной барплот, используя простые команды построения графиков.
library(tidyr)
gluft1 <- gluft[,c("int", "value", "nac")]
data_wide <- spread(gluft1, nac, value)
barplot(as.matrix(data_wide[1:3,2:4]) + as.matrix(data_wide[4:6,2:4]), beside = T, col = c("yellow","lightgreen","pink"))
barplot(as.matrix(data_wide[1:3,2:4]), beside = T, col = c("blue4", "green4","red2"), add = T)
Результатом должен быть следующий график:
Затем вы можете добавить свою легенду.
Надеюсь, это поможет.
Приветствие.