在R中的谷歌地图上绘制数据点

时间:2014-11-26 06:39:25

标签: r google-maps twitter plot

我使用searchtwitter函数从twitter中提取了推文并创建了一个包含列"经度"的csv文件。和"纬度"我创建了一个变量" tweets"阅读csv文件。每条推文/行都有经度和纬度数据。我想将推文的位置绘制到新加坡的谷歌地图上。

如何在我使用PlotOnStaticMap函数创建的Google地图上绘制点?这是实现我的谷歌地图的代码:

sgmap<-GetMap(center="Singapore",zoom=11)
PlotOnStaticMap(sgmap)
points(tweets$longitude,tweets$latitude,col="red",cex=.6)

我也试过这段代码:

sgmap<-GetMap(center="Singapore",zoom=11)
PlotOnStaticMap(sgmap,cex=.6,col="red",FUN=points,add=F)
points(tweets$longitude,tweets$latitude,col="red",cex=.6)

sgmap<-GetMap(center=c(1.352083,103.8198),zoom=11,destfile="map.png",maptype="satellite")
PlotOnStaticMap(lat=tweets$latitude,lon=tweets$longitude,zoom=11,cex=.6,col="red",FUN=points)

1 个答案:

答案 0 :(得分:1)

以下是使用ggmapggplot2执行此任务的另一种方法。您使用ggmap下载地图,然后使用geom_point中的ggplot2在地图上绘制数据点。

library(ggmap)
library(ggplot2)

sing <- get_map(location = "singapore", color = "bw",
                zoom = 11, maptype = "toner", source = "google")

# This is a pseudo tweets data frame including long and lat only
set.seed(12)
foo <- data.frame(long = runif(300, 103.68, 104),
                  lat = runif(300, 1.3, 1.42))

ggmap(sing) +
geom_point(data = foo, aes(x = long, y = lat), color = "red")

enter image description here