千家信息网

R语言可视化实现数据地图离散百分比填充

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"R语言可视化实现数据地图离散百分比填充"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2026年11月01日R语言可视化实现数据地图离散百分比填充

本篇内容介绍了"R语言可视化实现数据地图离散百分比填充"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

今天跟大家分享如何以百分比形式填充离散分段数据地图。

案例用环渤海三省二市的地理数据。

library(ggplot2)

library(maptools)

library(plyr)

数据导入、转换、抽取

CHN_adm2 <- readShapePoly("c:/rstudy/CHN_adm/CHN_adm2.shp")

CHN_adm2_1 <- fortify(CHN_adm2)

data1 <- CHN_adm2@data

data2 <- data.frame(id=row.names(data1),data1)

china_map_data <- join(CHN_adm2_1, data2, type = "full")

huanbohai <-subset(china_map_data,NAME_1==c("Beijing","Tianjin","Nei Mongol","Hebei","Shandong"))

建立业务数据:

huanbohai_perm<-data.frame(NAME_2=unique(huanbohai$NAME_2),zhibiao=rnorm(42,100,50))

huanbohai_perm$zhibiao<-round(huanbohai_perm$zhibiao,0)

write.table (huanbohai_perm, file ="C:/rstudy/huanbohai.csv", sep =",", row.names =FALSE)

业务数据导入及合并:

mydata<-read.csv("C:/rstudy/huanbohai.csv",header=T)

huanbohai_map_data <- join(huanbohai,mydata, type="full")

###将转换的分段因子变量重新命名为我们需要的分段阀值:

huanbohai_map_data$fau <- cut(huanbohai_map_data$zhibiao, breaks = c(0,40,80,120,160,200))

huanbohai_map_data$fam<-factor(huanbohai_map_data$fau,levels=c('(0,40]','(40,80]','(80,120]','(120,160]','(160,200]'),labels=c('0~40','40~80','80~120','120~160','160~200'),order=TRUE)

离散颜色标度填充(实际值分段)

windowsFonts(myFont = windowsFont("微软雅黑"))

ggplot(huanbohai_map_data, aes(x = long, y = lat, group = group,fill =fam)) +

geom_polygon(colour="white")+

scale_fill_brewer(palette="Greens") + ###Blues&Greens

coord_map("polyconic") +

ggtitle("某公司2015~2016年度营业状况分布图")+

guides(fill=guide_legend(reverse=TRUE,title=NULL))+

theme(

title=element_text(family="myFont"),

legend.text.align=1, ###图例标签右对齐

panel.grid = element_blank(),

panel.background = element_blank(),

axis.text = element_blank(),

axis.ticks = element_blank(),

axis.title = element_blank(),

legend.position = c(0.08,0.6)

)


以上是昨天在东三省填充地图中所使用过的方法,接下来我解释一种新的填充方案,通过将数量段转换为百分比进行离散颜色标度填充:

离散颜色标度分割(百分比数量段):

qa <- quantile(na.omit(huanbohai_map_data$zhibiao), c(0,0.2,0.4,0.6,0.8,1.0))

huanbohai_map_data$zhibiao_q<-cut(huanbohai_map_data$zhibiao,qa,labels = c("0-20%", "20-40%","40-60%","60-80%", "80-100%"),include.lowest = TRUE)

> levels(huanbohai_map_data$zhibiao_q)

[1] "0-20%" "20-40%" "40-60%" "60-80%" "80-100%"

通过将指标变量以分段百分比的方式进行分割,新建立一个百分比分段因子变量:

离散渐变(百分比)

windowsFonts(myFont = windowsFont("微软雅黑"))

ggplot(huanbohai_map_data,aes(long,lat))+

geom_polygon(aes(group=group,fill=zhibiao_q),colour="white")+

scale_fill_brewer(palette="Greens")+

coord_map("polyconic") +

guides(fill=guide_legend(reverse=TRUE,title=NULL))+

ggtitle("某公司2015~2016年度营业状况分布图")+

theme(

title=element_text(family="myFont"),

panel.grid = element_blank(),

panel.background = element_blank(),

axis.text = element_blank(),

axis.ticks = element_blank(),

axis.title = element_blank(),

legend.position =c(0.2,0.7),

legend.text.align=1

)


###带标签

接下来处理标签问题:

创建各城市中心地理坐标:

midpos <- function(data1) mean(range(data1,na.rm=TRUE))

centres <- ddply(huanbohai_map_data,.(city),colwise(midpos,.(long,lat)))

填充并添加标签:

ggplot(huanbohai_map_data,aes(long,lat))+

geom_polygon(aes(group=group,fill=zhibiao_q),colour="white")+

scale_fill_brewer(palette="Greens")+

coord_map("polyconic") +

geom_text(aes(label=city),size =3,family="myFont",fontface="plain",data=centres) +

guides(fill=guide_legend(reverse=TRUE,title=NULL))+

ggtitle("某公司2015~2016年度营业状况分布图")+

theme(

title=element_text(family="myFont"),

title=element_text(family="myFont"),

panel.grid = element_blank(),

panel.background = element_blank(),

legend.text.align=1,

axis.text = element_blank(),

axis.ticks = element_blank(),

axis.title = element_blank(),

legend.position = c(0.2,0.7)

)


"R语言可视化实现数据地图离散百分比填充"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

百分 百分比 数据 离散 地图 标签 接下来 公司 分布图 变量 年度 标度 状况 颜色 营业 语言 可视化 业务 内容 因子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 瑰夏咖啡 互联网科技公司简介 上海睿民互联网科技有限公司 互联网金融监管科技数据 中资互联网科技 北京互联网科技有限公司 互联网科技公司官网 友谊互联网络科技 广州慧亚互联网科技怎么样 受益于互联网科技的高速发展 呼和浩特新华互联网科技学院 四川慕妮娅互联网科技有限公司 上海钢联属于互联网科技股吗 电子商务与互联网科技的关系 富国互联网科技002692 全球科技与互联网公司市值变化 互联网科技接地气 福仕德教育科技互联网 数字互联网科技有限公司 互联网科技对化妆品行业 互联网科技公司排名 中国互联网科技股 科技互联网项目 江苏南京365互联网科技 互联网科技博主是什么意思 厦门比较好的科技互联网公司 长沙茂晟互联网科技有限公司 上海钢联属于互联网科技股吗 互联网科技企业商标注意事项 陕西彩京云互联网科技有限公司
0