ggplot2玫瑰图中星巴克门店分布图示例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,今天就跟大家聊聊有关ggplot2玫瑰图中星巴克门店分布图示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用ggplot2制作放射状玫
千家信息网最后更新 2025年12月03日ggplot2玫瑰图中星巴克门店分布图示例分析
今天就跟大家聊聊有关ggplot2玫瑰图中星巴克门店分布图示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
使用ggplot2制作放射状玫瑰图本不是什么难事,仅需将普通单序列柱形图添加添加一个极坐标转化参数即可。
但是遇到比较小清新的案例,还是值得手动操作一下的。
关于星巴克门店分布TOP20城市分布数据图,用色和呈现形式比较友好,所以就信手拿来作为案例分享给大家。
原图中并未给出任何实际数据(所以需要用眼睛估测了~-~)
library("rvest")
library("dplyr")
library("ggplot2")
library("grid")
library("showtext")
library("Cairo")font.add("myfont","msyh.ttc")找一份网上的最新统计数据
url<-"http://bbs.thmz.com/thread-2715502-1-1.html"
table<-read_html(url,encoding="gbk")%>%html_nodes("td.t_f>table")%>%html_table(header =TRUE,trim =TRUE,fill=TRUE)%>%as.data.frame()城市数据
mydata<-data.frame(label=c("上海","北京","杭州","广州","深圳","苏州","成都","天津","南京","武汉","宁波","重庆","西安","无锡","厦门","青岛","长沙","南通","常州","福州"))整理数据
mydata<-merge(mydata,table[,c("城市","门店数量")],by.x="label",by.y="城市",all.x=TRUE)mydata[mydata$label=="常州","门店数量"]=27
names(mydata)[2]<-"value"
mydata<-arrange(mydata,-value)%>%transform(id=1:20,class=c(1,6,rep(1:6,3)))mydata$label<-as.character(mydata$label)
#标签拆成单字换行,竖排布局:
label<-strsplit(mydata$label,"")
for (i in 1:length(label)){mydata$label_ff[[i]]<-paste0(label[[i]],collapse="\n")}mydata[1:2,"label_ff"]<-c("上海","北京")mydata[16:20,"label_ff"]<-c("青岛","厦门","常州","福州","南通")
#计算标签的旋转角度:
mydata$angle=c(rev(9*(1:10-1)+4.5),-(9*(1:10-1)+4.5))mydata$angle[16:20]<-rev(9*(1:5-1)+4.5)图形可视化过程:
p<-ggplot(mydata)+geom_col(aes(x=id,y=value,fill=factor(class)))+geom_hline(yintercept =c(25,50,100,200,500),linetype=2,size=.25)+geom_text(aes(x=id,y=value+12,label=label_ff,angle=angle),family="myfont",size=3.5,lineheight=1)+#坐标轴放大一倍占位:scale_x_continuous(limits=c(0,40),expand=c(0,0))+#Y延伸到负值突出圆心的空白scale_y_continuous(limits=c(-100,600))+scale_fill_manual(values=c("#00643E","#207A57","#3D8C6D","#59A284","#76B69B","#95CBB3"),guide=FALSE)+coord_polar(start=-14.245)+theme_void();p图形输出:
setwd("E:/数据可视化/R/R语言学习笔记/数据可视化/ggplot2/优秀R语言案例")CairoPNG(file="polar_rose.png",width=2400,height=1800)showtext.begin()grid.newpage()pushViewport(viewport(layout=grid.layout(6,8)))vplayout<-function(x,y){viewport(layout.pos.row =x,layout.pos.col=y)}print(p,vp=vplayout(1:6,1:8))showtext.end()dev.off()
局部线条经过手工修饰!
以上就是整个制图过程,其中关于角度转换以及细节处理问题均省略掉了,如需了解可以 单独交流。
看完上述内容,你们对ggplot2玫瑰图中星巴克门店分布图示例分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
数据
门店
城市
玫瑰
巴克
内容
案例
常州
可视化
分布图
示例
图中
分析
图形
数量
标签
角度
语言
过程
上海
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
辽宁极项网络技术股份有限公司
杨浦区信息化数据库优点
服务器安全网卡
海淀区品质软件开发价目表
江西赣州dns服务器云空间
京东服务器时间返回文本代码
服务器统一管理工作组
saas 更新数据库
米童网络技术
软件开发现场会成果介绍
云南大学网络安全调剂
数据库 sql sum
智能硬件MCU软件开发里
河南搜游网络技术
数据库不能远程连接
浙江服务器机柜经销商
龙源数据库网官网
2022网络安全主题会议
杂合型数据库
内网搞服务器
浙南科技城互联网服务中心
上海铁通dns服务器
创欧网络技术
sql通讯录数据库
电脑里没有服务器管理器
eps数据库包括哪些内容
winform 修改数据库
csgo试贴纸的社区服务器
汕头职业技术学院网络技术
本地的服务器就安全吗