2017-02-25 77 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