R语言中ggplot绘制地图,保持x、y轴的比例一致: coord_fixed() 选项
001、
# 加载必要的包 library(ggplot2) library(scatterpie) library(maps) # 取世界地图 world <- map_data("world") # 模拟三个地点的数据(经纬度 + 三种成分) df <- data.frame( lon = c(100, 120, 140), lat = c(30, 35, 40), A = c(0.4, 0.3, 0.6), B = c(0.3, 0.4, 0.2), C = c(0.3, 0.3, 0.2) ) df # 定义颜色(自己设置每个部分的颜色) fill_colors <- c(A = "#FF9999", B = "#99CCFF", C = "#99FF99") # 开始绘制 ggplot() + geom_map(data = world, map = world, aes(x = long, y = lat, map_id = region), fill = "white", color = "gray70", size = 0.3) + geom_scatterpie( aes(x = lon, y = lat, group = interaction(lon, lat)), data = df, cols = c("A", "B", "C"), color = NA, # 给饼图加上黑色边框 pie_scale = 1 # 饼图大小 ) + scale_fill_manual(values = fill_colors) + # 手动指定饼图的颜色 coord_fixed() + # 保持X/Y比例 theme_minimal() + theme( panel.grid = element_blank(), panel.background = element_rect(fill = "white"), legend.title = element_blank() )
。