用R画中国地图

如何画中国地图

 

install.packages("maps")
install.packages("mapdata")
install.packages("maptools")
library(maps)
library(mapdata)
library(maptools)
setwd("D:\\Documents\\work\\myself_learn\\地图")
map<-readShapePoly('bou2_4p.shp')
plot(map)

用R画中国地图_第1张图片

 

 

 

bou2_4p.shp是什么鬼?

是中国行政区地图的数据信息其中一个文件。

中国行政区地图的数据信息包括三个文件bou2_4p.dbf,bou2_4p.shp和bou2_4p.shx

怎么获取?

http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip下载,解压缩

最近画的两个地图

#################用echart作图###############################

 

library(devtools)
#install_github('lchiffon/REmap')
library(REmap)
setwd("D:\\Documents\\work\\myself_learn\\地图")
city_vec = c("Beijing","Shanghai","Guangzhou")
get_city_coord("Beijing")
get_city_coord("beijing")
get_city_coord("北京")
get_city_coord( c("Beijing","Shanghai","Guangzhou")) #报错,只能填写单个,不能是向量
get_geo_position (c("beijing","Shanghai","广州","新疆"))

##################remap迁徙地图############
#remap 中文不稳定 
#data 要求2列:一列出发省份,另一列到达省份
migrate_map_data<-read.csv("迁徙地图数据.csv",stringsAsFactors=FALSE)

origin<-c("shanghai","jiangsu","anhui","zhejiang","shandong","hubei","guangzhou","heilongjiang","sichuan","fujian")
destination<-rep("beijing",10)
migrate_map_data1<-as.data.frame(cbind(origin,destination))
remap(migrate_map_data1, title = "Draw by 小酥饼maomao", subtitle = "", 
      theme =get_theme("Dark"))            ##中英文均可

用R画中国地图_第2张图片

 

 

 

 

 

 

migrate_map_data2<-as.data.frame(cbind(destination,origin))
remap(migrate_map_data2, title = "", subtitle = "", 
      theme = get_theme("Dark")) 


用R画中国地图_第3张图片

 

 

origin = c("beijing","shanghai","sichuan")
destination = c('shanghai','sichuan','beijing')
dat = data.frame(origin,destination)
remap(dat,title = "REmap实例数据",subtitle = "theme:Dark")


用R画中国地图_第4张图片

 

 

#主题设置
#“Dark”,“Bright,”Sky“,”none“,none 为 自定义
remap(migrate_map_data2,title = "REmap实例数据",subtitle = "theme:Dark",
      theme = get_theme("Dark"))

remap(migrate_map_data2,title = "REmap实例数据",subtitle = "theme:Dark",
      theme = get_theme("none",
                        lineColor = "orange",
                        backgroundColor = "pink",
                        titleColor = "red",
                        borderColor = "white",
                        regionColor = "green"))


用R画中国地图_第5张图片

 

 

#######################remapC分级统计图##############################
#data 要求两列:第一列省份,第二列数值
#maptype 选择:china or world or 省份(广东、西藏)
choropleth_map_data<-read.csv("分区域热力地图.csv",stringsAsFactors=FALSE)
remapC(choropleth_map_data,
       color = 'orange')


用R画中国地图_第6张图片

 

 

#世界地图
data = data.frame(country = mapNames("world"),value = 5*sample(178)+200)
head(data)
remapC(data,maptype = "world",color = 'skyblue')

用R画中国地图_第7张图片

 

#省份地图
data = data.frame(country = mapNames('浙江'),value = 50*sample(11)+200,stringsAsFactors = F)
data$value<-as.numeric(data$value)
remapC(data,maptype = '浙江',color = 'skyblue')


用R画中国地图_第8张图片

 

 

#只画地图
remapC(choropleth_map_data,
       title = "remapC实例地图",
       theme = get_theme('none',backgroundColor = '#fff',
                         titleColor = "#1b1b1b",
                         pointShow = T),
       max = 2000)

 

#地图基础上添加路径
#remapC(data,maptype = 'china',color = c('#1e90ff','#f0ffff'),
#       theme = get_theme("Bright"),
#       title = "",subtitle = "",
#       mindata = NA,maxdata = NA,geoData = NA,
#       #添加路径数据,格式
#       markLineData = NA,markPointData = NA,
#       markLineTheme = markLineControl(),markPointTheme = markPointControl())
markline_control<-markLineControl(symbolSize = c(0,0),  #是否有箭头
                                  smooth = F,
                                  smoothness = 0,       #退化为直线
                                  effect = F,           #炫光效果
                                  lineWidth = 1,        #标线宽度
                                  lineType = "solid")   #标线样式 solid dotted dashed
##markLineControl 的color 默认为随机颜色,设置一个颜色会取为固定颜色
markpoint_control<-markPointControl(symbol = "Circle",
                                    symbolSize = 10,    #标点大小
                                    effect=T,           #炫光效果
                                    effectType="scale") #炫光方式:’scale’放大,’bounce’跳动
#symbol:
#‘circle’,‘emptyCircle’,圆,空心圆
#‘rectangle’,‘emptyRectangle’,方块,空心方块
#‘triangle’,‘emptyTriangle’,三角,空心三角
#‘diamond’,‘emptyDiamond’,钻石,空心钻石
#‘heart’心形,’droplet’,水滴
#‘pin’,POI标注,’arrow’箭头, ’star’五角星
#或者使用’image://http://….’来引用一个图片,如symbol = "image://http://lchiffon.github.io/assets/images/df_logo.jpg",
#此外对markLineData下设置symbol变量会覆盖该颜色

remapC(choropleth_map_data,
       color = 'orange',
       markLineData = migrate_map_data2,
       markPointData = migrate_map_data2[,2],
       markLineTheme=markline_control,
       markPointTheme=markpoint_control)
 


用R画中国地图_第9张图片

 

 

remapC(choropleth_map_data,
       color = 'orange',
       markPointData = migrate_map_data2[,2],
       markPointTheme=markpoint_control) 


用R画中国地图_第10张图片

 

 

#位置标记
data = data.frame(country = mapNames('上海'),value = 50*sample(19)+200,stringsAsFactors = F)
data$value<-as.numeric(data$value)
pointData = data.frame(geoData$name,
                       color = c(rep("orange",20),
                                 rep("red",10)))
remapC(data,maptype = '上海',color = 'skyblue',
       markPointData = pointData,
       markPointTheme = markPointControl(symbol = 'pin',
                                         symbolSize = 5,
                                         effect = F),
       geoData = geoData)  #上海火锅店

用R画中国地图_第11张图片

 

##################remapB####################
#那个蓝蓝的背景,真心丑啦~~
markline_data<-data.frame(origin=rep("shanghai",14),
                          destination=c("jiangsu","anhui","zhejiang","beijing","shandong","hubei","guangdong","heilongjiang","sichuan","fujian","hunan","henan","liaoning","jiangxi"),
                          color=rep("red",14))   #作线条用

remapB(title = "Bmap 迁徙图示例",
         color = "Blue",
         markLineData = migrate_map_data2,
         markPointData = migrate_map_data2[,2])


用R画中国地图_第12张图片

 

 

###################disney景区分布############################
library(baidumap)
getCoordinate('北京大学') # json
getCoordinate('北京大学', output='xml') # xml
getCoordinate('北京大学', formatted = T) # character
getCoordinate('Harvard University', formatted = T) # 百度没添加国外的经纬度,哭泣ing
disney<-getCoordinate(c('上海迪士尼乐园', '香港迪士尼乐园',"东京迪士尼乐园","巴黎迪士尼乐园","洛杉矶迪士尼乐园","奥兰多迪士尼乐园"), formatted = T) # matrix
plotdata = data.frame(lon = disney[,1],
                      lat = disney[,2],
                      city = rownames(disney))
data = data.frame(country = mapNames("world"),value = 5*sample(178)+200)

remapC(data,maptype = "world",color = 'skyblue',
       markPointData = data.frame(plotdata$city),
       markPointTheme = markPointControl(symbol = "pin",
                                         effect=F,
                                         symbolSize = 5,
                                         color="red"),
       geoData = plotdata)
#国外的迪士尼都出错了


用R画中国地图_第13张图片

 

 

 

这是一篇我跟了一年的文章《R语言天气可视化应用》,好牛逼的技术,努力学习ing,先mark下

http://blog.fens.me/r-app-china-weather/?replytocom=2903

http://blog.sina.com.cn/s/blog_670445240102v20c.html

你可能感兴趣的:(用R画中国地图)