千家信息网

如何分析ggplot2分面气泡图饼图

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,如何分析ggplot2分面气泡图饼图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ggplot2系统内的分面函数只有简单的一个fac
千家信息网最后更新 2026年11月04日如何分析ggplot2分面气泡图饼图

如何分析ggplot2分面气泡图饼图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

ggplot2系统内的分面函数只有简单的一个facet_grid(),但是恰恰就是这么一个不很起眼,甚至看起来有些特立独行的分面函数,却给高维数据可视化带来了革命性的变化,有了它,所有基于ggplot2的可视化图形都能够扩展呈现 维度,从第三维、第四维、第五维(理论上来说)。

还是再强调一下facet_grid()在ggplot2各个几何图层中的地位和控制范围,分面函数作为一个特殊的,具有美学映射属性,却被设计在了与几何图层近乎独立地位(表现在从写法上来看,它并没有被设计在几何图层内,而是与其他几何图层在位置上平行),由此可见包作者对其的推崇和重视。

它的控制权限是很高的,倘若你在facet_grid()函数内部指定了一个分面参数,那么剩余的所有几何图层都可以自动适用这个分面(当然前提是各几何图层的美学映射中都好含有与分面参数相同的变量)。

所以想要分面参数同事控制多个图层,必须保证每一个图层内都含有该分面参数同名的变量。

今天以气泡饼图为例:

library(ggplot2)
library(dplyr)
library(rgdal)
library(shiny)
library(shinythemes)
library(scatterpie)

导入并整理地图数据:

china_map <-readOGR("D:/R/mapdata/State/china.geojson","OGRGeoJSON",stringsAsFactors=FALSE)Encoding(china_map@data$name)<-"UTF-8"china_map <- fortify(china_map) province_city <- read.csv("D:/R/rstudy/Province/chinaprovincecity.csv",stringsAsFactors = FALSE,check.names=FALSE)

构造气泡饼图数据:

city_data<-data.frame(Name=rep(c("北京","上海","重庆","武汉","广州","西安")))
for (i in 2:7) city_data[,i]<-round(runif(6,0,250))names(city_data)[2:7]<-paste0("Year",2011:2016)city_data$Full<-apply(city_data[,-1],1,sum)city_data$Full_scale<-scale(city_data$Full,center=F,scale=T)*2

#提取中心城市数据:city_data<-city_data%>%merge(province_city[,c("city","wd","jd")],by.x="Name",by.y="city",all.x=TRUE)

气泡饼图:

ggplot() +    
geom_polygon(data=china_map,aes(x=long,y=lat,group=group),fill="white",color="grey")+ geom_scatterpie(data=city_data,aes(x=jd,y=wd,r=Full_scale),cols=names(city_data)[2:7],color="grey", alpha=.8) + scale_fill_brewer(guide=FALSE)+ theme_void()

构造带有分类变量的气泡饼图数据:

city_data2<-data.frame(Name=rep(city_data$Name,6))
for (i in 2:4) city_data2[,i]<-runif(nrow(city_data2),10,100)names(city_data2)[2:4]<-paste0("Value",1:3)city_data2$Year<-rep(paste0("Year",2011:2016),each=6)city_data2<-city_data2%>%merge(city_data[,c("Name","jd","wd")],by="Name",all.x=T)city_data2$Full<-apply(city_data2[,2:4],1,sum)%>%scale(center=F,scale=T)city_data2$Full<-as.numeric(city_data2$Full)*2
city_data2<-city_data2%>%arrange(Year,Name)

高维分面饼图:

ggplot()+geom_polygon(data=china_map,aes(x=long,y=lat,group=group),fill="white",color="grey")+geom_scatterpie(data=city_data2,aes(x=jd,y=wd,r=Full),cols=names(city_data2)[2:4],color="grey", alpha=.8) +    scale_fill_brewer(guide=FALSE)+       facet_wrap(~Year)+    theme_void()

关于如何分析ggplot2分面气泡图饼图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

气泡 几何 数据 函数 参数 分析 变量 问题 控制 地位 更多 美学 高维 可视化 帮助 解答 设计 易行 相同 起眼 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司简介 哈尔滨大商圈互联网科技有限公司 科技互联网企业 壕鑫互联网络科技 齐家互联网科技有限公司 互联网科技网站 盛创互联网科技有限公司 互联网科技教育视频 栖莱科技互联网股份有限公司 杭州壁岐互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 华夏恒生科技与互联网科技 深圳互联网科技的发展 中国互联网有什么科技 江苏苏星互联网科技有限公司 济南小医互联网科技有限公司招聘 萌小萌互联网科技河南有限公司 绵阳真晨互联网科技有限公司 亚光科技低轨卫星互联网 互联网金融金融科技 互联网科技企业 上海挚品互联网科技有限公司 港股互联网科技股 上海互联网科技有限公司 金融科技 互联网金融 小马过河互联网科技 想开互联网科技公司怎么样 济南有互联网科技公司吗 互联网安防科技感 济南小医互联网科技有限公司招聘
0