用ggmap包举办地动数据的可视化
当前位置:以往代写 > 其他教程 >用ggmap包举办地动数据的可视化
2019-06-14

用ggmap包举办地动数据的可视化

用ggmap包举办地动数据的可视化

用ggmap包举行地震数据的可视化

最近又发明白一个较量好玩的包ggmap。从名字上可以揣摩出来,它的浸染就是将ggplot2和map相团结。这样R语言用户能利便的获取各类静态舆图数据,并在其基本上利用强大的ggplot画图东西。ggmap包整合了四种舆图资源,别离是Google、OpenStreetMaps、Stamen和Cloudmade。为了演示ggmap的浸染,本例是从地动信息网获取最近一周的地动数据,获得其经纬度,然后以散点形式绘制在google舆图上,别的也显示地动产生的密度预计。这个思路本质上和之前的一篇博文是一致的,但用ggmap包实现起来更为简朴。

# 加载扩展包library(ggmap)library(animation)library(XML)# 从网页上抓取数据,并举办清理webpage <-'http://data.earthquake.cn/datashare/globeEarthquake_csn.html'tables <- readHTMLTable(webpage,stringsAsFactors = FALSE)raw <- tables[[6]]data <- raw[-1,c('V1','V3','V4')]names(data) <- c('date','lan','lon')data$lan <- as.numeric(data$lan)data$lon <- as.numeric(data$lon)data$date <- as.Date(data$date, "%Y-%m-%d")# 用ggmap包从google读取舆图数据,并将之前的数据标注在舆图上。ggmap(get_googlemap(center = 'china', zoom=4,maptype='terrain'),extent='device')+geom_point(data=data,aes(x=lon,y=lan),colour = 'red',alpha=0.7)+stat_density2d(aes(x=lon,y=lan,fill=..level..,alpha=..level..), size=2,bins=4,data=data,geom='polygon')+ opts(legend.position = "none")更好玩的作法就是按照地动产生的日期生成差异的静态图,然后用animaiton包将其整合为一个gif动画。
用ggmap包举行地震数据的可视化

# 为了生成动画,先筹备好一个画图函数plotfunc <- function(x) { df <- subset(data,date <= x) df$lan <- as.numeric(df$lan) df$lon <- as.numeric(df$lon) p <- ggmap(get_googlemap(center = 'china', zoom=4,maptype='terrain'),,extent='device')+ geom_point(data=df,aes(x=lon,y=lan),colour = 'red',alpha=0.7)}# 获取地动的日期time <- sort(unique(data$date))# 生成并生存动画saveMovie(for( i in time) print(plotfunc(i)))

#p#分页标题#e#

ggmap包中尚有其它一些很是有用的函数。譬喻geocode函数可以按照地名字符串来查询经纬度,gglocator雷同于根基包中的locator,它按照鼠标的点选来返回其坐标值。别的一个是mapdist函数,可以返回两点之间的舆图间隔和行驶时间。团结这几个函数可以直接在R中绘制舆图,选择你的出发地和方针地,然后得到两地之间的间隔。虽然你还可以共同GPS等其它数据,缔造出其它有意思的图形。

    关键字:

在线提交作业