Ho un set di coordinate di origine e destinazione e disegno segmenti di linea tra di loro. Il fatto è che vorrei indicare la direzione della linea usando il colore al posto delle frecce fornite con geom_segment(). Qualcosa come il blu che si trasforma in rosso, per indicare la direzione.gradiente di colore ggplot2 lungo geom_segment()
C'è un modo semplice per farlo con ggplot2?
dati Esempio:
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))
Finora, sono stato in grado di linee di colore diverso, ma non ho trovato un modo per avere due colori sullo stesso segmento di linea e di transizione tra i due, quando ho solo un punto di inizio e di fine, senza punti tra:
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))
Non credo che questo sta per essere molto semplice; probabilmente dovrai inventare un modo per introdurre punti intermedi nei tuoi segmenti. http://stackoverflow.com/questions/15924159/smooth-colors-in-geom-line fa una domanda simile ... –
Questo è stato implementato nella grafica di base nel pacchetto 'plotrix'. Potresti provare a cercare se qualcuno ha pubblicato una griglia in Rhelp. Pensavo di aver visto un tale animale in natura, ma non sono un abile hacker particolarmente abile quindi non sono nella caccia di questo. –
Una modifica potrebbe essere quella di tracciare punti ravvicinati con sfumature di colore. –