成都地图可视化:展示成都市及主城区边界
导入必要的包
library(ggplot2) library(maps)
读取成都市地图数据
cd_map <- map_data('china', 'chengdu')
创建成都市地图
cd_plot <- ggplot() +
添加地图边界
geom_polygon( data = cd_map, aes(x = long, y = lat, group = group), fill = NA, color = 'black', size = 0.2 ) +
设置坐标轴范围和标签
xlim(c(103.9, 104.9)) + ylim(c(30.4, 31.4)) + xlab('Longitude') + ylab('Latitude') +
添加主城区边界
geom_polygon( data = subset(cd_map, subregion == 'Chengdu'), aes(x = long, y = lat, group = group), fill = 'rainbow', color = 'black', size = 0.2 ) +
添加图例
theme(legend.position = c(0.95, 0.95), legend.background = element_rect(fill = 'white', size = 0.5, linetype = 'solid'), legend.key = element_rect(fill = 'rainbow', size = 0.5, linetype = 'solid'), legend.title = element_text(size = 12, face = 'bold'), legend.text = element_text(size = 10), legend.box = 'horizontal', legend.box.just = 'right', legend.margin = margin(0, 0, 0, 0), legend.key.width = unit(0.85, 'cm'), legend.title.align = 0.5, legend.key.height = unit(0.85, 'cm')) + scale_fill_brewer(palette = 'rainbow', name = 'District') +
设置画框边界
theme(plot.margin = unit(c(3.1, 2.1, 2.1, 3.1), 'cm')) +
添加线型和线宽
theme(panel.grid.major = element_line(color = 'darkgrey', size = 0.2, linetype = 'dashed'), panel.grid.minor = element_blank(), panel.border = element_rect(color = 'darkgrey', size = 2, linetype = 'dashed'), axis.line = element_line(color = 'darkgrey', size = 1.5)) +
设置坐标轴标签方向
theme(axis.text.x = element_text(angle = 0, vjust = 0.5, hjust = 0.5), axis.text.y = element_text(angle = 0, vjust = 0.5, hjust = 0.5)) + ggtitle('成都市')
输出成都市地图
cd_plot
原文地址: https://www.cveoy.top/t/topic/n9DJ 著作权归作者所有。请勿转载和采集!