ggplot ensemble scale_color_gradientn manuellement

J'ai un bloc de données comme ceci

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

et je veux tracer BP contre LOG10, et la couleur des points de R2. R2 sont des valeurs continues de 0-1.

myplot <- read.cvs("mytable.csv",head=TRUE)
attach(myplot)
ggplot(myplot,aes(BP,LOG10, color=R2)) + geom_point() 

Donc bon. Cependant, je voudrais afficher le R2 couleurs sélectionnée manuellement les intervalles et les couleurs, comme ceci (si j'avais des valeurs discrètes).

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

Ce semble assez, mais je préfère définir les couleurs de mon auto.

ggplot(myplot,aes(BP,LOG10, color=R2)) + geom_point(shape=1) + 
               scale_colour_gradientn(colours = rainbow(10))

Alors, comment puis-je sélectionner manuellement les intervalles de valeurs continues (1-0.8, 0.8-0.6, 0.6-0.4, 0.4-0.2, 0.2-0), et de la couleur à mon goût (rouge, jaune, vert, lumière, bleu fonce)? Lisse d'un gradient entre les couleurs serait cool, mais pas indispensable.

OriginalL'auteur user2724998 | 2013-08-28