溫馨提示×

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

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

R語言怎么實(shí)現(xiàn)矩陣氣泡圖

發(fā)布時(shí)間:2022-03-28 13:48:18 來源:億速云 閱讀:896 作者:iii 欄目:大數(shù)據(jù)

這篇“R語言怎么實(shí)現(xiàn)矩陣氣泡圖”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“R語言怎么實(shí)現(xiàn)矩陣氣泡圖”文章吧。

該圖信息量相當(dāng)豐富,至少涵蓋了四個(gè)維度的信息,支出結(jié)構(gòu)信息(類別型字段)、國(guó)別信息(類別型字段)、支出水平分類(類別型字段)、支出規(guī)模(數(shù)值型指標(biāo))等。

R語言怎么實(shí)現(xiàn)矩陣氣泡圖

倘若使用ggplot進(jìn)行繪制,思路非常簡(jiǎn)單,僅通過散點(diǎn)圖層皆可完成,ggplot2的散點(diǎn)圖可以支持離散標(biāo)度,但是如果想要處理好類別的順序,需要把類別型變量因子化。

因?yàn)樵瓐D中有獎(jiǎng)金100+數(shù)據(jù)點(diǎn),很多都沒有具體數(shù)值,一個(gè)一個(gè)用肉眼估計(jì)簡(jiǎn)直喪心病狂,所以我模擬了一組數(shù)值,只保證思路講到位就OK。

setwd("E:/微信公眾號(hào)/公眾號(hào)——數(shù)據(jù)小魔方/2017年9月/20170914/")
mydata<-read.csv("matrix_bubble.csv",stringsAsFactors = FALSE,check.names = FALSE)

原始數(shù)據(jù)中帶有\(zhòng)n,導(dǎo)入時(shí)R語言會(huì)自動(dòng)給\添加一個(gè)\,這里涉及到R語言中保留字符的問題,需要將多余的\刪掉。

mydata$Class[c(1,6,7)]<-c("Housing,fuel\n&utilities","Restaurants\n& hotels","Clothing\n& footwear")
names(mydata)[9:11]<-c("Saudi\nArabia","South\nKorea","United\nStates")library("tidyr")
mydata1<-gather(mydata,Country,Spend,-1)
mydata1$Class<-factor(mydata1$Class,levels=c("Education","Alcohol & tobacco","Communications","Furnishings","Clothing\n& footwear","Restaurants\n& hotels","Health","Recreation","Transport","Food","Housing,fuel\n&utilities"),ordered=T)

分割支出規(guī)模的類別區(qū)間:

qa<-quantile(mydata1$Spend,c(0,.25,.5,.75,1))
mydata1$Spend_fact<-cut(mydata1$Spend,breaks=qa,labels = c("lowest spend","below average","above average","highest spend"),include.lowest=TRUE,ordered=T)

R語言怎么實(shí)現(xiàn)矩陣氣泡圖

制作草圖:

library("ggplot2")library("grid")library("showtext")library("Cairo")
font.add("myfont","msyh.ttc")
setwd("E:/《R語言商務(wù)圖表與可視化》/9.12——R語言ggplot2可視化在線分享")
CairoPNG(file="matirx_scatter.png",width=1200,height=900)
showtext.begin()
ggplot(data=mydata1)+

geom_hline(aes(x=Country,y=Class,yintercept = 1:nrow(mydata1)),size=20,colour="#E4EDF2",alpha=.5)+
geom_vline(aes(x=Country,y=Class,xintercept = 1:nrow(mydata1)),linetype="dashed")+
geom_point(aes(x=Country,y=Class,size=Spend,fill=Spend_fact),shape=21,colour="white")+
scale_fill_manual(values=c("#F9DBD3","#F1B255","#519F46","#41B0C3"))+
scale_size_area(max_size=25)+
scale_x_discrete(position = "top")+
guides(size=FALSE,fill=guide_legend(title="Within category",direction="horizontal"))+
labs(title="How they spend it",subtitle="Househlod spending*,of total,2013 or latest,includes taxes",caption="Source:Eurostat")+
theme_void(base_size=20,base_family="myfont") %+replace%
theme(
      legend.position="top",
      panel.grid.major.x=element_line(linetype="dashed"),      #plot.margin=margin(5,5,5,5,unit="pt"),
      axis.text=element_text(size=15,hjust=0.5),
      plot.title=element_text(size=35,hjust=0,lineheight=1.2),
      plot.caption=element_text(hjust=0,lineheight=1.2)
) 
showtext.end()
dev.off()

R語言怎么實(shí)現(xiàn)矩陣氣泡圖

以上就是關(guān)于“R語言怎么實(shí)現(xiàn)矩陣氣泡圖”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

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

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

AI