[英]Plotting Related Data on Map in R
不确定是否有人可以帮助您:
我有2个数据框:一个是经纬度坐标列表,构成了纽约77个警区的地图。 另一个是纽约市的犯罪数据列表,其中显示了每个区域每年的谋杀,偷车和袭击次数。
我已经用ggplot在地图上绘制了区域。 我如何在地图上叠加例如每个区域使用颜色的谋杀案数量? IE,红色代表谋杀案最多的地区,绿色代表谋杀案最少。
地图数据框的设置如下:
Lat | Long | Precinct
-74 | 40.2 | <2>
犯罪数据框架的设置如下:
Crime | Year | Value | Precinct
Assault | 03 | 2300 | <2>
这是我绘制地图的方式:
y <- ggplot(data = MyShapeMapData, aes(x = long, y = lat))
y + geom_polygon(aes(group = group), fill = NA, colour = "black") + coord_fixed(1.3)
任何帮助表示赞赏
您是否需要类似以下内容(显示一些虚拟数据)?
MyShapeMapData <- read.csv(text='lat, long, Precinct
-74.01,40.71,<2>
-74.00,40.72,<3>', stringsAsFactors=FALSE)
MyCrimeData <- read.csv(text='Crime, Year, Value, Precinct
Assault, 03, 2300,<2>
Murder,04, 700,<3>', stringsAsFactors=FALSE)
library(ggmap)
mymap <- get_map(location = "New York", zoom=15)
library(dplyr)
df <- inner_join(MyShapeMapData, MyCrimeData, by='Precinct')
df
# lat long Precinct Crime Year Value
#1 -74.01 40.71 <2> Assault 3 2300
#2 -74.00 40.72 <3> Murder 4 700
ggmap(mymap) + geom_point(data = df, aes(x = lat, y = long, color=Crime, size=Value)) + scale_size(range = c(10,20)) +
scale_color_manual(values=c('blue', 'red')) #, alpha=0.5) + coord_fixed(1.3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.