溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ggplot2玫瑰圖中星巴克門店分布圖示例分析

發(fā)布時間:2022-01-15 17:19:09 來源:億速云 閱讀:144 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)ggplot2玫瑰圖中星巴克門店分布圖示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

使用ggplot2制作放射狀玫瑰圖本不是什么難事,僅需將普通單序列柱形圖添加添加一個極坐標(biāo)轉(zhuǎn)化參數(shù)即可。

但是遇到比較小清新的案例,還是值得手動操作一下的。

關(guān)于星巴克門店分布TOP20城市分布數(shù)據(jù)圖,用色和呈現(xiàn)形式比較友好,所以就信手拿來作為案例分享給大家。

ggplot2玫瑰圖中星巴克門店分布圖示例分析

原圖中并未給出任何實際數(shù)據(jù)(所以需要用眼睛估測了~—~)

library("rvest")
library("dplyr")
library("ggplot2")
library("grid")
library("showtext")
library("Cairo") font.add("myfont","msyh.ttc")

找一份網(wǎng)上的最新統(tǒng)計數(shù)據(jù)

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()

城市數(shù)據(jù)

mydata<-data.frame(
label=c("上海","北京","杭州","廣州","深圳","蘇州","成都","天津","南京","武漢","寧波","重慶","西安","無錫","廈門","青島","長沙","南通","常州","福州")
)

整理數(shù)據(jù)

mydata<-merge(mydata,table[,c("城市","門店數(shù)量")],by.x="label",by.y="城市",all.x=TRUE)
mydata[mydata$label=="常州","門店數(shù)量"]=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)
#標(biāo)簽拆成單字換行,豎排布局:
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("青島","廈門","常州","福州","南通")
#計算標(biāo)簽的旋轉(zhuǎn)角度:
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)+#坐標(biāo)軸放大一倍占位:scale_x_continuous(limits=c(0,40),expand=c(0,0))+#Y延伸到負(fù)值突出圓心的空白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

ggplot2玫瑰圖中星巴克門店分布圖示例分析

圖形輸出:

setwd("E:/數(shù)據(jù)可視化/R/R語言學(xué)習(xí)筆記/數(shù)據(jù)可視化/ggplot2/優(yōu)秀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玫瑰圖中星巴克門店分布圖示例分析

局部線條經(jīng)過手工修飾!

以上就是整個制圖過程,其中關(guān)于角度轉(zhuǎn)換以及細(xì)節(jié)處理問題均省略掉了,如需了解可以 單獨交流。

看完上述內(nèi)容,你們對ggplot2玫瑰圖中星巴克門店分布圖示例分析有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI