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")
scale_colour_identity()
definieren Sie Ihre eigenen Farben für jeden Punkt.InformationsquelleAutor JRodrigoF | 2013-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beachten Sie zunächst, dass der Grund ggplot nicht fördern dies ist, weil die Grundstücke in der Regel schwierig zu interpretieren.
Können Sie Ihre zwei Farbverlauf-Skalen, durch den Rückgriff auf ein bisschen schummeln. In geom_point bestimmte Formen (21 bis 25) können sowohl eine Fläche und eine Farbe. Sie können das nutzen, erstellen Sie eine Ebene mit einem "fill" - Skala und ein weiterer mit einem "color" - Skala.
Wenn Sie sich Fragen als neue Frage, mit einem kleinen reproduzierbare Beispiel, es gibt viele ggplot kompetente user hier, die springt und Antwort.
Tut mir Leid zu stören, Ram! Würden Sie mir helfen, mich mit meiner eigenen Antwort auf diese Frage: stackoverflow.com/a/25588144/2872891? Ich habe auch ein weiteres Problem bei der Integration dieses Ansatzes in meiner realen codebase. Könnte ich bitte Sie um Hilfe, wenn ich es zu dokumentieren, wie Sie eine Frage? Danke!!!
Ein allgemeinerer Ansatz ist, um skalieren Sie Ihre Daten auf einer gemeinsamen Skala vor dem Aufruf von ggplot2. Siehe stackoverflow.com/a/5738083/3980197
InformationsquelleAutor Ram Narasimhan