本文主要展示在R语言中如何利用ggplot2[1]绘制以极地为中心的地图,如下图所示。
1、数据准备
所使用的package主要包括RColorBrewer[2]、tidyverse[3]、rworldmap[4]等。
# source:WeChat:日常分享的小懒猫
library(RColorBrewer)
library(tidyverse)
library(rworldmap)
# World map
worldMap <- getMap()
world.points <- fortify(worldMap)
head(world.points)
# long lat order hole piece id group region
#1 61.21082 35.65007 1 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
#2 62.23065 35.27066 2 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
#3 62.98466 35.40404 3 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
#4 63.19354 35.85717 4 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
#5 63.98290 36.00796 5 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
#6 64.54648 36.31207 6 FALSE 1 Afghanistan Afghanistan.1 Afghanistan
world.points$region <- world.points$id
world.df <- world.points[,c("long","lat","group", "region")]
head(world.df)
# long lat group region
#1 61.21082 35.65007 Afghanistan.1 Afghanistan
#2 62.23065 35.27066 Afghanistan.1 Afghanistan
#3 62.98466 35.40404 Afghanistan.1 Afghanistan
#4 63.19354 35.85717 Afghanistan.1 Afghanistan
#5 63.98290 36.00796 Afghanistan.1 Afghanistan
#6 64.54648 36.31207 Afghanistan.1 Afghanistan
2、图形绘制
# source:WeChat:日常分享的小懒猫
ggplot() +
geom_polygon(data = world.df, aes(x = long, y = lat, group = group, fill = region),
color = "black", show.legend = FALSE) +
scale_y_continuous(breaks = (-2:2) * 30) +
scale_x_continuous(breaks = (-4:4) * 45) +
#coord_map("ortho", orientation = c(80, 40, 0)) +
coord_map("ortho") +
theme_minimal() +
scale_fill_manual(values = colorRampPalette(brewer.pal(7, "Set3"))(243) ) +
theme(panel.grid = element_line(colour = "grey60"),
axis.title = element_blank(),
axis.text = element_blank()
)
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230517_fa9f6682-f484-11ed-9c37-fa163eb4f6be.png)
3、其他
更多内容可进一步关注公众号【日常分享的小懒猫】。
如有帮助请多多点赞哦!
参考资料
ggplot2: https://cran.r-project.org/web/packages/ggplot2/index.html
[2]RColorBrewer: https://cran.r-project.org/web/packages/RColorBrewer/index.html
[3]tidyverse: https://cran.r-project.org/web/packages/tidyverse/index.html
[4]rworldmap: https://cran.r-project.org/web/packages/rworldmap/index.html
文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。