使用ggplot2和ggalt包绘制世界地图面板

发布时间: 2015-12-29 阅读数: 2454

James Austin(@awhstin)制作了基于R图形的4幅面板图,不过他没有用ggplot2来做。他说道:

ggplot2目前还不支持世界地图。从这点来说,它没有给我们一个很好的全球视角

最新的ggplot2 2.0.0版本已经支持世界地图。下面我们就利用ggplot2内置的面选项来绘制这4幅面板图。数据文件(CLIWOC15.csv)从这里下载。

注:本文还要用到的R包是ggalt。它是在ggplot2的基础之上扩展了一些新的geomscoordsstats特性。详情请见ggalt

library(ggplot2)  #需安装最新的2.0.0版本
library(dplyr)  #你也可以用内置的subset函数来代替filter函数
library(ggalt) #安装方法: devtools:install_github("hrbrmstr/ggalt")。需安装加载devtools包
library(ggthemes)

world <- map_data("world")
world <- world[world$region != "Antarctica",] # 剔除南极洲

dat <- read.csv("CLIWOC15.csv")        
dat <- filter(dat, Nation != "Sweden") 
 
gg <- ggplot()
gg <- gg + geom_map(data=world, map=world,
                    aes(x=long, y=lat, map_id=region),
                    color="white", fill="#7f7f7f", size=0.05, alpha=1/4)
gg <- gg + geom_point(data=dat, 
                      aes(x=Lon3, y=Lat3, color=Nation), 
                      size=0.15, alpha=1/100)
gg <- gg + scale_color_tableau()
gg <- gg + coord_proj("+proj=wintri")
gg <- gg + facet_wrap(~Nation)
gg <- gg + theme_map()
gg <- gg + theme(strip.background=element_blank())
gg <- gg + theme(legend.position="none")
gg

本文由雪晴数据网负责翻译整理,原文请参考World Map Panel Plots with ggplot2 2.0 & ggalt作者hrbrmstr。转载请注明原文链接http://www.xueqing.tv/cms/article/95

分享到:
热门文章

REmap发布,用R绘制百度迁徙图

2015年07月23日更新 21043次阅读

学习R语言,一篇文章让你从懵圈到入

2016年05月09日更新 14656次阅读

清华大学教授:大数据时代 统计学依

2015年08月07日更新 11281次阅读

在R中填充缺失数据—mice包

2015年12月31日更新 10706次阅读

精通 R plot—第一部分:颜色

2016年01月20日更新 9499次阅读

非统计学专业的人该如何学习 R 语

2015年07月24日更新 8102次阅读
热门课程

R语言初级课程

2015年02月20日发布 3230名学员

R语言高效数据清理工具包dplyr

2015年08月30日发布 1687名学员

R语言数据分析入门

2016年05月10日发布 1563名学员

如何用R做数据预处理

2016年06月03日发布 1160名学员

全栈数据工程师养成攻略

2016年11月08日发布 1019名学员

R语言大规模数据分析实战

2015年12月17日发布 952名学员
登录 注册