氣泡圖是可以展示三個變量或者4個變量之間關係的數據圖表。氣泡圖其實是在散點圖的基礎上進行改造的,在原有的橫縱坐標變量的基礎上,引入第三個變量,用氣泡的大小來表示,因此被稱為氣泡圖,還可以引入第四個變量用氣泡的顏色表示。
library(ggplot2)
ggplot(mtcars,aes(wt,mpg,size=cyl))+geom_point(shape=21,colour='black', fill='skyblue',alpha=.7)
#調整氣泡大小
ggplot(mtcars,aes(wt,mpg,size=cyl))+
geom_point(shape=21,colour='black', fill='skyblue',alpha=.7)+
scale_size_area(max_size=10)
library(RColorBrewer)
col.pal <- colorRampPalette(c("#00007F", "blue","#007FFF", "cyan", "#7FFF7F", "yellow","#FF7F00", "red", "#7F0000"))
fill.colors <- col.pal(64)
ggplot(mtcars,aes(wt,mpg,size=cyl,fill=disp))+
geom_point(shape=21,colour='black',alpha=.7)+
scale_fill_gradientn(colours=fill.colors)
#兩兩關係氣泡圖
#構造一個輸入數據
v=runif(100,min=0,max=1)
m=matrix(v,nrow=10)
colnames(m)<-paste0("C",1:10)
rownames(m)<-paste0("R",1:10)
m
library(reshape2)
hd<-melt(m,value.name="corr")
ggplot(hd,aes(Var1,Var2,size=corr))+
geom_point(color='grey')
ggplot(hd,aes(Var1,Var2,size=corr))+
geom_point(color='grey')+
scale_size_area(max_size=12,guide=FALSE)+
geom_text(aes(label=sprintf('%.3f',corr)),vjust=NA,size=3)+
xlab("")+ylab("")
ggplot(hd,aes(Var1,Var2,size=corr,colour=corr))+
geom_point()+
scale_size_area(max_size=12,guide=FALSE)+
geom_text(aes(label=sprintf('%.3f',corr)),vjust=NA,size=3)+
xlab("")+ylab("")+
scale_color_gradient(low="darkgreen",high="red")
#用ggplotcorr繪製相關係數熱圖
library(ggcorrplot)
data(mtcars)
corr <- round(cor(mtcars),1)
ggcorrplot(corr, method = "circle")
ggcorrplot(corr, method='circle', type='upper',show.diag = FALSE, lab=TRUE)