2016-12-12 1 views
0

Je voudrais tracer des points GPS comme une carte de chaleur - ceux qui apparaissent plus souvent seront de couleur plus sombre/plus chaude. Mes données ressemblent à ceci:R: couleur points GPS qui apparaissent plusieurs fois de couleur plus foncée

 lon lat Freq 
1 -121.93 68.28 1 
2 -117.72 70.72 1 
3 -110.69 68.75 1 
4 -94.79 61.03 1 
5 -93.80 58.63 1 
6 -92.18 62.88 1 
7 -89.68 46.15 3 
8 -83.00 62.50 1 
9 -78.99 56.41 1 
10 -78.87 56.39 1 
11 -71.30 65.95 1 
12 -67.36 62.84 1 
13 -67.35 62.86 1 
14 -67.25 63.45 2 

je peux tracer ces données comme suit:

newmap<-getMap(resolution="low") 
plot(newmap) 
points(data3$V5, data3$V4, col = "red", pch = 15, cex = 0.5) 

enter image description here

Cependant, je voudrais que les points qui ont une fréquence de 2 ou 3 (voir colonne Freq) pour être plus sombre/chaud comme une carte de chaleur, avec une légende d'accompagnement. Il semble qu'il pourrait y avoir une solution utilisant ggmap, mais je n'ai pas été capable d'obtenir une carte du monde en utilisant ggmap. (J'ai besoin d'une carte du monde parce que je vais tracer beaucoup plus de points GPS que dans cet exemple qui traverse le globe). J'aime la façon dont ce contour du monde a l'air.

Répondre

0

Avec ggplot2:

library(ggmap) 
library(ggplot2) 
world <- map_data("world") 
ggplot() + geom_path(data=world, aes(x=long, y=lat, group=group)) + 
geom_point(data=data3, aes(x=lon, y=lat, colour=Freq, size=sqrt(Freq/pi))) + scale_colour_gradientn(colours = rev(heat.colors(12))) + 
    scale_size(guide = FALSE) 

enter image description here

0

Une option serait de définir l'opacité en utilisant rgb au lieu de simplement ajouter une couleur. Par exemple

points(data3$V5, data3$V4, col = rgb(1, 0, 0, 0.5), pch = 15, cex = 0.5)