ggplot2玫瑰图中星巴克门店分布图示例分析
发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,今天就跟大家聊聊有关ggplot2玫瑰图中星巴克门店分布图示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用ggplot2制作放射状玫
千家信息网最后更新 2024年09月28日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安全错误
数据库的锁怎样保障安全
360中国网络安全
视图攻击如何连接本地数据库
南京海航计算机网络技术服务优势
加强网络安全管理心得体会
学生论文数据库
数据库设计器vfp
时间停止下一刻服务器
江苏热门软件开发
气象局 网络安全
安全的云服务器
上海爱立信C软件开发笔试题
萧山图书馆网络技术
什么公司可以炒股软件开发
创造的建筑可以导入服务器吗
数据库领域的技术专家
马来西亚软件开发工作
上海智能消防软件开发
黑苹果软件开发
天龙八部服务器的ip地址是哪个
海康网关服务器作用
常州信息化软件开发
大学生文化自信数据库
深圳卫星软件开发费用是多少
如东进口网络技术质量保证
怎么查看服务器是不是am
全球软件开发人员大概多少
网络安全中消息鉴别论文
豆浆机软件开发
上海智能消防软件开发
奉贤区一站式软件开发出厂价格