Mit zwei scale-Farbverläufe ggplot2

Wenn überhaupt, ich denke, es muss eine sehr einfache Lösung für dieses. Ich habe zwei große dataframes, die im Grunde Aussehen wie diese:

> data1[1,]
      chromosome start    end      test ref position log2      p.value 
13600 Y          10199251 10200750 533  616 10200000 0.2181711 0.00175895   
...

> data2[1,]
      chromosome start    end      test ref position log2       p.value 
4080  Y          10197501 10202500 403  367 10200000 0.04113596 0.3149926   
...

Ich verwende diesen code, um den Verlauf der beiden dataframes in das gleiche Diagramm:

p <- ggplot() + geom_point(data=subset(data1, p.value >= glim[1]),
map=aes(x=position, y=log2, colour=p.value))
+ geom_point(data=subset(data2, p.value >= glim[1]), map=aes(x=position,
y=log2, colour=p.value))

Als ich plante einzelnen dataframes, ich war mit einem rot-weißen Farbverlauf für die Werte in "p.Wert" - Spalte. Mit dieser Zeile:

p <- p + scale_colour_gradient(limits=glim, trans='log10', low="red", 
high="white") 

Die zentrale Frage ist: Jetzt mit zwei dataframes, wie kann ich einen Farbverlauf für data1 und ein weiteres für die data2? Ich Las in einem früheren post, dass es nicht möglich ist, mit zwei verschiedenen Farbskalen(ej. "low=" für den ersten, und "high=" für den zweiten), aber in diesem Fall ist genau die gleiche Farbskala (Wenn ich nicht die Vermischung der Terminologie). Die syntax ist natürlich nicht richtig, aber ich würde gerne etwas wie das hier tun:

p <- p + scale_colour_gradient(limits=glim, trans='log10', low="red", 
high="white") 

p <- p + scale_colour_gradient(limits=glim, trans='log10', low="blue", 
high="white") 
der Relevante post verwendet scale_colour_identity() definieren Sie Ihre eigenen Farben für jeden Punkt.

InformationsquelleAutor JRodrigoF | 2013-08-21

Schreibe einen Kommentar