千家信息网

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安全错误 数据库的锁怎样保障安全 互联网属科技 新华互联网科技学院 顺玮阁互联网科技 互联网科技网站 四川狮子座互联网科技 互联网实体化科技化 剑昆互联网络科技有限公司临桂 广州恒生互联网科技有限 荆州市昕露互联网络科技有限公司 苏州五指互联网络科技有限 小米互联网科技园入驻 互联网企业科技类企业如何做账 启辰互联网科技 互联网科技手机排行榜 张家口科技产业互联网平台 美国五大互联网科技公司市值多少 唐山双旺合互联网科技产业园 上海互联网科技园景观 安徽九吞吴互联网科技有限公司 如何强化互联网金融科技 互联网黑科技 北京互联网科技公司 友谊互联网络科技 宁波青枫互联网科技有限公司 工业互联网等科技实现智能化赋能 世界互联网领先科技成果获奖 群盈汇互联网科技有限公司 世界互联网科技成果奖 张家口科技产业互联网平台 华人运通互联网科技公司
0