Ich habe folgende Eingabe für eine gruppierte Balkendiagramm, das ich mit ggplot2 erzeugen:R ggplot2: Farbe gruppierten BarPlot basierend auf Bedingung/numerischen Schwellwerten
Disease;Category;Value;pValue
Disease A;Count;100;0.0001
Disease A;Expected Count;50;0.0001
Disease B;Count;80;0.0005
Disease B;Expected Count;40;0.0005
Disease C;Count;60;0.0010
Disease C;Expected Count;40;0.0010
Disease D;Count;45;0.05
Disease D;Expected Count;50;0.05
Der folgende Code erzeugt den gruppierten BarPlot:
literature.disease2 <- read.table(file = "/user/literature-disease2.csv",sep=";", header=TRUE)
literature.disease2.sorted <- literature.disease2[order(literature.disease2$pValue,literature.disease2$Category),]
ggplot(data=literature.disease2.sorted, aes(x=Disease, y=Value, fill=Category)) +
geom_bar(stat="identity", position=position_dodge(),size=.3, colour="black") +
scale_fill_manual(values=c("Count" = "lightblue", "Expected Count" = "pink")) + # Change color
xlab("Disease Category") + ylab("Literature Count") + # Set axis labels
ggtitle("Genome-Wide Literature Counts") + # Set title
theme_bw() +
theme(axis.text.x = element_text(angle =90, hjust = 1,vjust=0.5))
Nun möchte Ich mag die Bars in blau färben (statt von hellblau) und lila (statt rosa) immer wenn der pValue < = 0.005. Ich weiß, dass ich die scale_fill_manual Option ändern muss, aber ich weiß nicht, wie man das für gruppierte Balkendiagramme macht. Kann jemand helfen?
Vielen Dank im Voraus, Frank
Dies ist eine gute Frage. Ich denke jedoch, dass Ihr Code mit vielen unnötigen Teilen zu unordentlich ist. Versuchen Sie, Ihre Beispiele so minimal wie möglich zu halten, damit andere sie leichter verstehen können. – Alex
Ja, Sie haben Recht. Ich sollte mich auf die spezifische Frage konzentrieren, damit andere leichter folgen können. – Frank