ggplot-set scale_color_gradientn manuell
Habe ich einen Daten-frame, wie dies
BP R2 LOG10
96162057 0.2118000 2.66514431
96162096 0.0124700 0.31749391
96162281 0.0008941 0.07012148
96163560 0.5011000 2.48505399
96163638 0.8702000 3.37778598
und ich will plot BP gegen LOG10, und die Farbe der Punkte von R2. R2 sind kontinuierliche Werte von 0-1.
myplot <- read.cvs("mytable.csv",head=TRUE)
attach(myplot)
ggplot(myplot,aes(BP,LOG10, color=R2)) + geom_point()
So weit, So gut. Jedoch möchte ich die Anzeige der R2-Farben in manuell ausgewählten Intervallen und Farben, wie dieser (wenn ich diskrete Werte).
ggplot(myplot,aes(BP,LOG10, color=R2)) + geom_point() +
scale_color_manual(breaks= c("1","0.8","0.6","0.4","0.2","0"),
values = c("red","yellow","green","lightblue","darkblue"))
Error: Continuous value supplied to discrete scale
Das sieht hübsch aus, aber ich würde eher die Farben meiner selbst.
ggplot(myplot,aes(BP,LOG10, color=R2)) + geom_point(shape=1) +
scale_colour_gradientn(colours = rainbow(10))
So, wie kann ich manuell wählen Sie Intervalle aus der kontinuierlichen Werte (1-0.8, 0.8-0.6, 0.6-0.4, 0.4-0.2, 0.2-0), und die Farbe, die Sie nach meinem Geschmack (rot, gelb, grün, hell -, dunkelblau)? Einen weichen Verlauf zwischen den Farben wäre cool, aber nicht entscheidend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
scale_colour_gradientn()
und geben Sie dann Ihren eigenencolours=
undvalues=
. Die Werte geben die Intervalle für jede Farbe.Nach 4 Jahren einen Kommentar zu diesem post: Es ist wichtig zu beachten, dass die "Werte" anzeigen-variable, die Werte zwischen 0 und 1, wobei 0 der niedrigste und 1 der höchste Wert. In diesem Beispiel ist es zufällig passt, um die Werte der Variablen, die 0 zu 1.