您好,登錄后才能下訂單哦!
這篇“R語言怎么實現矩陣氣泡圖”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“R語言怎么實現矩陣氣泡圖”文章吧。
該圖信息量相當豐富,至少涵蓋了四個維度的信息,支出結構信息(類別型字段)、國別信息(類別型字段)、支出水平分類(類別型字段)、支出規模(數值型指標)等。
倘若使用ggplot進行繪制,思路非常簡單,僅通過散點圖層皆可完成,ggplot2的散點圖可以支持離散標度,但是如果想要處理好類別的順序,需要把類別型變量因子化。
因為原圖中有獎金100+數據點,很多都沒有具體數值,一個一個用肉眼估計簡直喪心病狂,所以我模擬了一組數值,只保證思路講到位就OK。
setwd("E:/微信公眾號/公眾號——數據小魔方/2017年9月/20170914/") mydata<-read.csv("matrix_bubble.csv",stringsAsFactors = FALSE,check.names = FALSE)
原始數據中帶有\n,導入時R語言會自動給\添加一個\,這里涉及到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)
分割支出規模的類別區間:
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)
制作草圖:
library("ggplot2")library("grid")library("showtext")library("Cairo") font.add("myfont","msyh.ttc")
setwd("E:/《R語言商務圖表與可視化》/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語言怎么實現矩陣氣泡圖”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。