近期在网上找了几种画中国地图方法,终于认为这种方法还是最适用的

1.用googlevis包。因为中国国情如今已经不能訪问google地图了。所以大多中国用户来说仅仅能望洋兴叹了。

2.用ggplot包,尽管也不错是,但试了后还是些限制的,要用到的gpclib包,在windows和redhat linux系统上是不被支持的,仅仅有ubuntu系统上支持,所以对于想在win和redhad linux绘图不太easy。并且画出来的地图easy变形,不好调整。

3.最后还是plot工具画的,看上还不错。经过多方法參考和改动后,分享给大家。

library(maps)
library(mapdata)
library(maptools) # 中国地图
# map("china") # 载入GIS数据
# GIS数据下载:http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip
x <- readShapePoly("bou2_4p.shp") # 測试数据
# plot(x,col=gray(924:0/924)); # 定义地图颜色函数
getColor <- function(mapdata,provname,provcol,othercol)
{ f=function(x,y) ifelse(x %in% y,which(y==x),0);
colIndex=sapply(iconv(x@data$NAME,"GBK","UTF-8"),f,provname);
col=c(othercol,provcol)[colIndex+1];
return(col);
} # 測试数据
# provname=c("北京市","天津市","上海市","重庆市"); provcol=c("red","green","yellow","purple");
# provcol=c("red","green","yellow","purple");
# plot(x,col=getColor(x,provname,provcol,"white")); # 查看省份名
# as.character(na.omit(unique(x@data$NAME))); # 画地图数据
provname=c("北京市","天津市","河北省","山西省","内蒙古自治区", "辽宁省","吉林省","黑龙江省","上海市","江苏省", "浙江省","安徽省","福建省","江西省","山东省", "河南省","湖北省","湖南省","广东省", "广西壮族自治区","海南省","重庆市","四川省","贵州省", "云南省","西藏自治区","陕西省","甘肃省","青海省", "宁夏回族自治区","新疆维吾尔自治区","台湾省", "香港特别行政区");
pop <- c(1633,1115,6943,3393,2405,4298,2730,3824,1858,7625, 5060,6118,3581,4368,9367,9360,5699,6355,9449, 4768,845,2816,8127,3762,4514,284,3748,2617, 552,610,2095,2296,693); # 构建图例的位置
nf <- layout(matrix(c(1,1,1,1,1,2,1,1,1),3,3,byrow=TRUE), c(3,1), c(3,1), TRUE)
layout.show(nf) #provcol <- rgb(red=1-pop/max(pop)/2,green=1-pop/max(pop)/2,blue=0);
#plot(x,col=getColor(x,provname,provcol,"white"),xlab="aaa",ylab="bbb"); provcol <- rgb(red=1-pop/max(pop)/1,green=1-pop/max(pop)/1,blue=1/1.5);
plot(x,col=getColor(x,provname,provcol,"white"),xlab="",ylab="") ## 整理数据
pop <- pop - min(pop)
pop=pop-min(pop) # 加入图例
par(mar=c(0,0,0,0))
par(mar=c(1,1,2,0),cex=0.5)
barplot(as.matrix(rep(1,31)),col=sort(provcol,dec=T),horiz=T,axes=F,border = NA )
axis(1,seq(1,32,by=3),sort(pop[seq(1,32,by=3)])) # 參考: http://blog.sina.com.cn/s/blog_7e4ac8b50101f1bh.html

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGljaGFuZ3phaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

用R画有图例的中国地图的更多相关文章

  1. 利用d3.js绘制中国地图

    d3.js是一个比較强的数据可视化js工具. 利用它画了一幅中国地图,例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3ZhcDE=/ ...

  2. 用 R 画中国分省市地图

    用 R 画中国分省市地图 (2010-11-18 16:25:34) 转载▼ 标签: 中国地图 营销 杂谈 分类: 数据分析 用R 也可以做出漂亮的依参数变化的中国地图. 主要参考(http://co ...

  3. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  4. vue+vuex+axios+echarts画一个动态更新的中国地图

    一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...

  5. R绘制中国地图,并展示流行病学数据

    流行病学的数据讲究“三间分布”,即人群分布.时间分布和空间分布.其中的“空间分布”最好是在地图上展示,才比较清楚.R软件集统计分析与高级绘图于大成,是最适合做这项工作了.关于地图的绘制过程,谢益辉.邱 ...

  6. R语言和中国地图

    上图是R语言绘制的按地域分布的数据图.更科学,更严谨,也更有质感的样子. 今天瞎写点东西,我在想数据分析的意义是什么,也许就是研究事物存在的形式.而事物存在的形式是什么样子呢,从最初的三维空间,爱因斯 ...

  7. matlab利用m_map工具包画中国地图及散点云图

    开始之前需要准备好malab,中国地图shp文件,m_map工具包. 中国地图shp文件可以在下面的链接中下载: https://gadm.org/download_country_v3.html 本 ...

  8. echarts画中国地图并上色

    任务是画一个中国地图,并在指定区域上颜色,学姐说用arcgis画,乖乖,4个g的安装文件,算了, 还是echarts大法好..如果想熟悉这个牛X的工具,请移步https://www.w3cschool ...

  9. echarts画中国地图,省市区地图分享

    中国地图 四川地图 重庆地图 源码分享: https://github.com/livelyPeng/ec-map

随机推荐

  1. 对象作为 handleEvent

    elem.addEventListener("click", obj, false);    //用对象作为处理函数   var obj = {     handleEvent: ...

  2. Problem B: 时间和日期类(III)

    Problem B: 时间和日期类(III) Time Limit: 4 Sec  Memory Limit: 128 MBSubmit: 2889  Solved: 1732[Submit][Sta ...

  3. Debian6单用户模式

    开始的时候按"e"进入Grub的编辑界面,这个时候要找:linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=.......... ro qui ...

  4. FPGA调试光纤模块

    利用FPGA调试光纤接口接口: 由于与项目需要,前段时间调试了光纤接口,记录一些设计经验. 设计中采用FPGA控制光纤模块完成光纤数据的收发,FPGA采用Xilinx公司的Spartan6 LX45T ...

  5. linux expect自动登陆远程服务器 批量管理服务器

    #!/usr/bin/expect set ipaddress [lindex $argv 0] set passwd [lindex $argv 1] set timeout 3 spawn ssh ...

  6. Python 爬虫练习(二)爬取补天公益SRC厂商域名URL (2017年11月22日)

    介绍下: 补天是国内知名的漏洞响应平台,旨在企业和白帽子共赢. 白帽子在这里提交厂商漏洞,获得库币和荣誉,厂商从这里发布众测.获取漏洞报告和修复建议. 在2017年3月份之前,补天的厂商域名URL是非 ...

  7. 【笔记】web 的回流与重绘及优化

    最近看了幕课网 web 前端性能优化的课程,其中说到了浏览器的回流(reflow) 及 重绘(repaint).觉得以后面试或许会被问到所以做一下笔记: 课程从回流及重绘这两个点延伸出了一个知识点就是 ...

  8. 2017上半年技术文章集合【Android】—184篇文章分类汇总

    地址: http://blog.csdn.net/androidstarjack/article/details/77923753 声明 | 本文是于亚豪 原创 终端研发部 前言: 2017年已经过大 ...

  9. SpringMvc架构下css、js、jpg加载失败问题

    SpringMvc架构下css.js.jpg加载失败问题 springMvc搭建成功后,页面出现一些错误,jsp.js等静态资源加载失败.导致页面没有显示任何样式以及 此处原因很简单,是因为相对路径在 ...

  10. WEB漏洞攻击之验证码绕过浅析

    最近安全部门对WEB系统进行了一次漏洞整改,发现了某个系统存在验证码绕过风险. 根据安全部门提供的信息,该漏洞构造场景是通过一层中间代理(Burpsuite Proxy)拦截客户端与服务端的请求,通过 ...