Ich habe eine Reihe von Ausgangs- und Zielkoordinaten, und ich zeichne Liniensegmente zwischen ihnen. Die Sache ist, ich möchte die Richtung der Linie mit Farbe anstelle der Pfeile angeben, die mit geom_segment() bereitgestellt werden. Etwas wie Blau, das in Rot übergeht, um die Richtung anzuzeigen.ggplot2 Farbverlauf entlang geom_segment()
Gibt es eine einfache Möglichkeit, dies mit ggplot2 zu tun?
Beispieldaten:
points <- data.frame(long=runif(100,-122.4154,-122.3491))
points$lat <- runif(100,37.5976,37.6425)
points$long2 <- runif(100,-122.4154,-122.3491)
points$lat2 <- runif(100,37.5976,37.6425)
# add distance
library(geosphere)
points$miles <- apply(points, 1,
function(x) distHaversine(p1=c(x["long"],x["lat"]),p2=c(x["long2"],x["lat2"]),r=3959))
Bisher habe ich anders farbige Linien der Lage gewesen, aber ich habe keine Möglichkeit zu haben, zwei Farben auf der gleichen Liniensegment und der Übergang zwischen den beiden, gefunden, wenn ich habe nur einen Start- und Endpunkt, ohne Punkte dazwischen:
ggplot(points,aes(x=long,xend=long2,y=lat,yend=lat2,color=miles)) +
geom_segment() +
scale_color_gradient2(low="red",high="blue",midpoint=median(points$miles))
Ich glaube nicht, das sehr einfach sein wird; Sie müssen wahrscheinlich einen Weg finden, um Zwischenpunkte in Ihre Segmente einzuführen. http://StackOverflow.com/Questions/15924159/Smooth-Colors-in-Geom-Line stellt eine ähnliche Frage ... –
Dies wurde in der Basisgrafik im 'PlotRix'-Paket implementiert. Sie könnten versuchen, zu überprüfen, ob jemand einen Grid-Hack in Rhelp gepostet hat. Ich dachte, ich hätte so ein Tier in der Wildnis gesehen, aber ich bin kein besonders fähiger GGplot-Hacker, also bin ich nicht auf der Jagd nach diesem. –
Ein Hack könnte sein, eng benachbarte Punkte mit einem Farbverlauf zu zeichnen. –