❝本节来介绍一款新R包「mapmixture」其主要用来绘制地图并将数据以饼图的形式进行映射,非常的好用并且兼容ggplot2,更多详细内容请参考作者官方文档,有更多详细的案例。
❞
❝https://github.com/tom-jenkins/mapmixture
❞
devtools::install_github("Tom-Jenkins/mapmixture")
library(tidyverse)
library(mapmixture)
library(terra)
library(gridExtra)
sessionInfo()
file <- system.file("extdata", "admixture1.csv", package = "mapmixture")
admixture1 <- read.csv(file)
file <- system.file("extdata", "coordinates.csv", package = "mapmixture")
coordinates <- read.csv(file)
map1 <- mapmixture(admixture1, coordinates, crs = 3035)
map1
file <- system.file("extdata", "admixture3.csv", package = "mapmixture")
admixture3 <- read.csv(file)
file <- system.file("extdata", "coordinates.csv", package = "mapmixture")
coordinates <- read.csv(file)
map2 <- mapmixture(admixture3, coordinates,
cluster_cols = c("green","blue"),
cluster_names = c("Group A","Group B"),
crs = 3035,
boundary = c(xmin=-15, xmax=16, ymin=40, ymax=62),
pie_size = 1,
pie_border = 0.3,
pie_opacity = 1,
land_colour = "#d9d9d9",
sea_colour = "#deebf7",
expand = TRUE,
arrow = TRUE,
arrow_size = 1.5,
arrow_position = "bl",
scalebar = TRUE,
scalebar_size = 1.5,
scalebar_position = "tl",
plot_title = "Admixture Map",
plot_title_size = 12,
axis_title_size = 10,
axis_text_size = 8)
map2
file <- system.file("extdata", "admixture1.csv", package = "mapmixture")
admixture1 <- read.csv(file)
file <- system.file("extdata", "coordinates.csv", package = "mapmixture")
coordinates <- read.csv(file)
map3 <- mapmixture(admixture1, coordinates,
cluster_cols = c("#f1a340","#998ec3"),
cluster_names = c("Ancestry 1","Ancestry 2"),
crs = 4326,
boundary = c(xmin=-15, xmax=16, ymin=40, ymax=62),
pie_size = 2,)+
annotate("label",x = -10,y = 46.5,label = "Atlantic Ocean",size = 3)+
annotate("text",x = 2.5,y = 57,label = "North Sea",size = 3)+
theme(
axis.title = element_text(size = 10),
axis.text = element_text(size = 8))+
guides(fill = guide_legend(override.aes = list(size = 5, alpha = 1)))
map3
file <- system.file("extdata", "admixture1.csv", package = "mapmixture")
admixture1 <- read.csv(file)
file <- system.file("extdata", "coordinates.csv", package = "mapmixture")
coordinates <- read.csv(file)
map4 <- mapmixture(admixture1, coordinates,
cluster_cols = c("#f1a340","#998ec3"),
cluster_names = c("Ancestry 1","Ancestry 2"),
crs = 4326,
boundary = c(xmin=-20, xmax=20, ymin=40, ymax=62),
pie_size = 2.5,
)+
theme(legend.position = "top",plot.margin = margin(l = 10, r = 10))+
guides(fill = guide_legend(override.aes = list(size = 5, alpha = 1)))
structure_barplot <- structure_plot(admixture1,
type = "structure",
cluster_cols = c("#f1a340","#998ec3"),
site_dividers = TRUE,
divider_width = 0.4,
site_order = c(
"Vigo","Ile de Re","Isles of Scilly","Mullet Peninsula",
"Shetland","Cromer","Helgoland","Flodevigen","Lysekil","Bergen"
),
labels = "site",
flip_axis = FALSE,
site_ticks_size = -0.05,
site_labels_y = -0.35,
site_labels_size = 2.2)+
theme(
axis.title.y = element_text(size = 8, hjust = 1),
axis.text.y = element_text(size = 5),
)
grid.arrange(map4, structure_barplot, nrow = 2, heights = c(4,1))
facet_barplot <- structure_plot(admixture1,
type = "facet",
cluster_cols = c("#f1a340","#998ec3"),
facet_col = 2,
ylabel = "Admixture proportions",
)+
theme(
axis.title.y = element_text(size = 10),
axis.text.y = element_text(size = 5),
strip.text = element_text(size = 6, vjust = 1, margin = margin(t=1.5, r=0, b=1.5, l=0)),
)
grid.arrange(map4, facet_barplot, ncol = 2, widths = c(3,2))
「tiff文件下载网址」
https://www.naturalearthdata.com/downloads/50m-raster-data/50m-natural-earth-1/
earth <- terra::rast("NE1_50M_SR_W/NE1_50M_SR_W.tif")
file <- system.file("extdata", "admixture1.csv", package = "mapmixture")
admixture1 <- read.csv(file)
file <- system.file("extdata", "coordinates.csv", package = "mapmixture")
coordinates <- read.csv(file)
map6 <- mapmixture(admixture1, coordinates, crs = 3035, basemap = earth)
map6
❝给予长期支持我们的忠实读者们一个特别待遇:凡是购买过小编2022年或2023年VIP会员文档的朋友们,「将自动获得2024年及以后更新的绘图文档代码,无需额外付费。」目前这两年的会员文档已累记卖出1500+,质量方面各位无需担忧。简要概括就是只要购买任意1年的会员内容,2024及后期公众号所更新的绘图文档均会在已经加入的会员群内分享。
❞
❝本节介绍到此结束,有需要学习数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」下单购买,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码;
❞
购买后微信发小编订单截图即邀请进新的会员交流群,无论购买那一年的会员文档都将获取「2024年及以后更新的绘图文档」,早买早享受,需要了解更多信息的朋友欢迎淘宝店铺交流咨询。