创建一个美国的谷歌地图,其中包含长列和纬线以及收益

时间:2017-07-21 13:27:51

标签: r google-maps ggplot2

我正在尝试创建一张美国地图,其中包含各州的收入点。

例如我有这些数据:

    state   capital_name     lat        long      women    earning            
1   Alabama   Montgomery   32.36154  -86.27912     621       832    
2    Alaska     Juneau     58.30194  -134.41974    797      1008 
3    Arizona   Phoenix     33.44846  -112.07384    669       827  
4    Arkansas Little Rock  34.73601  -92.33112     610       703  

现在这是我的代码:

 mapPoints <- ggmap(map) + 
              geom_point(aes(x = lat, y = long, size = sqrt(women_median_weekly_earnings)),   
                         data = join2, alpha = .5 ,color="darkred") +
              scale_size(range=c(3,20))

 map <- get_map(location = 'usa', zoom = 4)

 mapPoints 

这是我得到的: enter image description here

如您所见,这些点不在地图上。 代码有什么问题?

我该如何解决?

非常感谢

1 个答案:

答案 0 :(得分:0)

你在审美方面犯了一个错误; y是纬度(南北),x经度(西 - 东),而不是相反。

此处,您的代码正在查看Alabama32.36154上的x axis-86.27912上的y axis。不在提供的地图范围内,因此这一点将不可见。

您应该通过撤消lat中的longaes来完成工作。

此外,zoom = 3似乎是获得地图中所有点的正确缩放

library(ggmap)

map <- map<-get_map(location='united states', zoom=3, maptype = "terrain",
                source='google',color='color')
mapPoints <- ggmap(map) + 
                         geom_point(aes(y = lat, x = long, size = sqrt(earning)), 
             data = df, alpha = .5 ,color="darkred") +
                                                      scale_size(range=c(3,20))

mapPoints

enter image description here

<强> 数据:

df <- read.table(text='state    capital_name    lat long    women   earning
                       Alabama  Montgomery  32.36154    -86.27912   621 832
                       Alaska   Juneau  58.30194    -134.41974  797 1008
                       Arizona  Phoenix 33.44846    -112.07384  669 827
                       Arkansas LittleRock  34.73601    -92.33112   610 703',  
                       header = T, quote = '"')