使用R语言对进行空间数据可视化

2020-08-07 14:42:42 浏览数 (1)

原文链接:http://tecdat.cn/?p=12299


最近我们一直在探索空间数据。事实证明,有一些很棒的R包可用于可视化此类数据。

以下是我汇总的一组图表。


每次shooting的位置在下面的地图上用红色圆圈标记。圆圈的大小取决于死亡人数。弗吉尼亚理工大学(均为学校案)在这段时间内是最致命的。 

在绝大多数情况下,射手是有精神病史的白人男性,他们合法获得了武器。

较大的圆圈表示较高的死亡率。

代码语言:javascript复制
plot(US,xlim=c(-125,-65),ylim=c(39,39), asp=1.31803)title(main="Mass Shootings 1982-2013")points(d$longitude,d$latitude,col="red",cex=d$Fatalities*.25)text(-69.31142,37.21232,"Newtown")text(-72.41394,30.22957,"Virginia Tech")text(-111.04308,38.55200,"San Ysidro n McDonald's Massacre")text(-89.72780,25.9,"Luby's Massacre")#using locator() -- add lines from circles to labelspoints(c(-77.67630,-72.99422),c(36.08547,31.16065),type='l')points(c(-71.71729, -69.05702),c(39.79927,37.94237),type='l')points(c(-96.51104, -92.68024),c(29.62669,26.23582),type='l')points(c(-115.8778, -111.4086),c(33.98637, 36.73135),type='l')

R对空间数据具有灵活性。它可以缩小美国范围并显示全球数据。去年,马航曾多次成为新闻焦点,因此这是一个非常热门的例子。在最后一个图表中,使用圆圈的大小显示了幅度,但是在这里,我们可以使用路线的阴影来显示幅度。前往热门目的地的路线是明亮的蓝色阴影。

我还绘制了法航和美国航空的路线。

代码语言:javascript复制
attach(gs)for(i in 1:length(S_Long)){  inter<- gcIntermediate(cbind(gs[i,]$S_Long, gs[i,]$S_Lat),  cbind(gs[i,]$D_Long, gs[i,]$D_Lat), n=100)  index<-round( (Dest_Count/max(Dest_Count))*length(colors))  lines(inter, col=colors[index], lwd=.2)}title(main="American Airline Routes",col.main="Blue")

Ggmap允许R直接从Google获取地图并放大特定的城市。以下是波士顿的地图,显示了2014年的犯罪地点。红色圆点表示事件,蓝色圆点表示毒品犯罪。我从data.cityofboston.gov下载了数据。较深的红色区域表示该位置有更多事件。大多数事件似乎集中在布鲁克林/罗克斯伯里周围。

蓝色标记表示drug,红色点表示shooting事件。

如果我们放大波士顿市中心,将会看到更少的shooting事件。仍然有很多drug泡泡,但它们主要集中在三个地区:唐人街,东波士顿和南端。

代码语言:javascript复制
bos_plot geom_point(data=bos_2,aes(x=bos_2$Lat,y=bos_2$Long),  col='red',alpha=.5, size=5) geom_point(data=bos_3,aes(x=bos_3$Lat,y=bos_3$Long),  col='blue',alpha=.5, size=2)

0 人点赞