2  Figure 1

# 绘制图 1 的脚本

# 加载软件包
library(readxl); library(ggplot2); library(data.table)

# 读取图 1 所需的数据
site <- readxl::read_xlsx('Source Data.xlsx',sheet = "Figure1")
site <- as.data.table(site)

# 更新管理类别
site[grepl('OF|CF|RFR|RFT|RFP|EE|BC',management), management := 'Nutrient management']
site[grepl('ROT|CC|RES',management), management := 'Crop management']
site[grepl('RT|NT',management),management := 'Soil management']

# 重命名
setnames(site,'management','Managements')

# 按特定顺序将管理转换为因子
site[,Managements := factor(Managements,
                            levels = c('Nutrient management','Crop management','Soil management'))]

# 加载基础地图
world <- map_data("world")
# 绘制地图
ggplot() +
  geom_map(
    data = world, map = world,
    aes(long, lat, map_id = region),
    color = "#999999", fill = "#CCCCCC", size = 0.1) +
  geom_point(data = site,aes(lon, lat,color = Managements), alpha = 1, size = 2) +
  scale_color_manual(values = c("Nutrient management" = "indianred3","Crop management"= "seagreen3","Soil management"="royalblue3"))+
  theme_bw()+
  scale_x_continuous(breaks = c(-120, -60, 0, 60, 120), expand = c(0, 0), 
                     labels = c('120°W', '60°W', '0', '60°E', '120°E')) +
  scale_y_continuous(breaks = c(-60, -30, 0, 30, 60), expand = c(0, 0), 
                     labels = c('60°S', '30°S', '0', '30°N', '60°N')) +
  labs(x = 'Longitude', y = 'Latitude', color = 'Managements')+
  theme(axis.text=element_text(size=22, color = "black"),
        axis.title = element_text(size = 22, face="bold", color = "black"))+
  theme(legend.position = c(0.15,0.3))+theme(legend.text = element_text(size=22, color="black"))+theme(legend.title = element_text(face="bold", size=18, color="black"))
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Warning in geom_map(data = world, map = world, aes(long, lat, map_id = region),
: Ignoring unknown aesthetics: x and y
Warning: A numeric `legend.position` argument in `theme()` was deprecated in ggplot2
3.5.0.
ℹ Please use the `legend.position.inside` argument of `theme()` instead.

# 将绘图保存在 “产品 ”目录下
# ggsave(file = "picture/Figure1_location_map.png",width = 410,height = 197, units = "mm")