2017-02-25 23 views
3

我正在尝试对经度和纬度值进行可视化。由于另一个post我设法得到正确的值传递给ggplot。我使用的代码如下:R纬度经度可视化

tweets <- searchTwitter('weather', n=1000,lang='en') 
t <- twListToDF(tweets) 
lat <- t[, c("latitude")] 
lon <- t[, c("longitude")] 
l.df <- data.frame(lat,lon) 
l.df <- na.omit(l.df) 
require(ggplot2) 
ggplot(l.df, aes(x=l.df$lon, y=l.df$lat,)) + geom_point(size=10.9, alpha=.02) 

问题是我得到一个几乎空的图。我说的几乎是空的,因为有一些点,但很难识别

我怎样才能得到一个阴谋显示世界地图和点的地理位置?

enter image description here

+1

您的alpha值非常小。你有没有试图将alpha值增加到0.3?另一件事是,你可能还需要一张地图数据集。 – jazzurro

+0

谢谢,这给了我更多可见的东西。我在哪里可以找到地图数据集? – Selrac

+0

看看'leaflet'包装。 [RStudio](https://rstudio.github.io/leaflet/)github页面有一些关于它的使用的很好的文档。 –

回答

1

随着leaflet包,你可以简单地调用地图与data.frame,并通过在纬度和经度的值来创建标记,并开始:

library(leaflet) 
yourMap <- leaflet(l.df) %>% addTiles() %>% addCircles(lng = ~lon, lat = ~lat) 
yourMap  # Prints the map 

如果您选择请使用leaflet,因为%>%magrittr程序包中的管道操作员,所以一定要安装依赖关系。正如我在评论中提到的那样,如果您希望共享您的数据和/或曾经将其托管在Shiny Web服务器上,它们会在RStudio "Leaflet for R" Github页面上提供很好的文档供其使用。

+1

谢谢杰夫。你开始认识我太好了。虽然我收到了错误消息:validateCoords(lng,lat,funcName)中的错误:addCircles需要数字经度/纬度值。我发现这个数字引用在工作时很奇怪:ggplot(l.df,aes(x = l.df $ lon,y = l.df $ lat,))+ geom_point(size = 10.9,alpha = .02) – Selrac

+1

添加了l.df $ lat < - as.numeric(as.character(l.df $ lat))&l.df $ lon < - as.numeric(as.character(l.df $ lon )),但我得到了点,但没有映射到后面。只是一个灰色的背景 – Selrac

+1

感谢您的帮助。现在正常工作:lon.m < - max(l.df $ lat) lat.m < - max(l.df $ lat) leaflet(l.df)%>% addTiles()%>% setView (-lon.m,lat.m,zoom = 1)%>% addMarkers(lng =〜lon,lat =〜lat) – Selrac