用ggplot2包来绘制舆图
当前位置:以往代写 > 其他教程 >用ggplot2包来绘制舆图
2019-06-14

用ggplot2包来绘制舆图

用ggplot2包来绘制舆图

自从四月份举办重大进级之后,0.90版的ggplot2包更新了许多新成果。之前的博文谈到了进级版的二维直方图。本日我们要谈的是绘制舆图的新成果。其图形元素主要是通过geom_map来实现,在它的辅佐文档中只描写了如何绘制美国舆图,而美国舆图是系统内maps包所自带的舆图数据。其它图家舆图数据则要从外部导入,本文则实验从 GADM 获取中国行政区域数据,然后用ggplot2包举办画图。GADM是世界行政区域(或行政区域界限)位置的空间数据库,可以用于地理信息系统和雷同软件。这个数据库也提供了R语言数据名目。

本例的目标是团结地理数据和水资源数据,以说明中国人均水资源拥有量的漫衍环境。根基步调是先导入地理信息数据,将其转为ggplot2可以处理惩罚的数据框名目,将水资源数据整合进来,最后绘制成图。在下图中,赤色代表了人均水资源拥有量较低的地域,黄绿色代表较高的地域。多年以来,华北地域都是有名的缺水地域,而长江以南水资源相对较为富厚,这一点很容易调查出来。而西藏、青海人口数量少,使人均水资源偏高。另外,按照全国水资源公报的数字,全国平均的人均水资源量是2200立方米。我们可以按照这一数字,将低于平均数的省份单独显示出来。顺便说下,公鸡的另一只腿可不是我吃了,数据原本如此。

R代码如下:

# 加载所需扩展包
library(ggplot2)
library(gpclib)
library(maptools)
# 读取地理信息数据
load(url(“http://gadm.org/data/rda/CHN_adm1.RData”))
# 人均水资源量
water <- c(1085,325,1473,3524,1079,2935,3989,2790,4147,358,2046,434
,1652,2490,451,3362,1467,871,2145,182,1000,12278,448,377,
182,1221,3135,152,4976,10000,5298,2005)
# 将数据转为数据框
gpclibPermit()
china.map <- fortify(gadm,region=’ID_1′)
vals <- data.frame(id =unique(china.map$id),val=water)
# 用ggplot呼吁画图
ggplot(vals, aes(map_id = id)) +
geom_map(aes(fill = val), map =china.map) +
expand_limits(x = china.map$long, y = china.map$lat) +
scale_fill_continuous(low = ‘red2′,high =’yellowgreen’,
guide = “colorbar”) +
opts(title=’中国人均年水资源拥有量’,
axis.line=theme_blank(),axis.text.x=theme_blank(),
axis.text.y=theme_blank(),axis.ticks=theme_blank(),
axis.title.x=theme_blank(),
axis.title.y=theme_blank()) +
xlab(“”) + ylab(“”)

    关键字:

在线提交作业