您當前的位置:首頁 > 旅遊

如何繪製精美的瀑布圖

作者:由 百趣代謝組學 發表于 旅遊時間:2022-11-17

瀑布圖是一種用於展示擁有相同的X軸變數資料、不同的Y軸離散型變數和Z軸數值變數的專業繪圖,它可以清晰地展示不同樣本對同一差異蛋白的變化關係。

如何繪製精美的瀑布圖

備註:X軸變數資料(如不同的指標)、不同的Y軸離散型變數(不同樣本相對含量)

需要用到的R包

ggplot2

繪圖用R包

RColorBrewer

包含大量專業繪圖色,繪製多樣本圖的基礎

reshape2

用於整理資料的R包

繪圖步驟

載入R包

library(ggplot2)

library(RColorBrewer)

library(reshape2)

匯入資料

如何繪製精美的瀑布圖

檔案命名為Waterfall_Data。csv

data<-read。csv(“Waterfall_data。csv”,stringsAsFactors=FALSE)

整理資料

colnames(data)<-c(“X_Axis”,seq(60,25,-5))

plotdata<-melt(data,id。vars = “X_Axis”)

繪製瀑布圖

ggplot(plotdata,aes(X_Axis,value,fill=variable))+geom_area(color=“black”,size=0。25)+facet_grid(variable~。)+theme(text=element_text(size=15,face=“plain”,color=“black”),axis。title=element_text(size=10,face=“plain”,color=“black”),axis。text = element_text(size=10,face=“plain”,color=“black”),legend。position=“none”)

如何繪製精美的瀑布圖

三進階畫法(3D瀑布圖)

相對於行分面瀑布圖,3D瀑布圖中不同類別間的差異更為直觀,能更好地觀察類與類之間的差距。

載入R包

library(plot3D)

library(RColorBrewer)

匯入資料

data<-read。csv(“Facting_Data。csv”,check。names =FALSE)

資料處理

N<-ncol(data)-1

plotdata<-data。frame(x=numeric(),y=numeric(),variable=character())for (i in1:N){tempdata<-data。frame(spline(data[,1],data[,i+1],n=300,method= “natural”))tempdata$variable<-colnames(data)[i+1]plotdata<-rbind(plotdata,tempdata)}

#插值處理

plotdata$variable<-as。numeric(plotdata$variable)

group<-unique(plotdata$variable)M<-length(group)

調整顏色

gg_color_hue <- function(n) {hues = seq(15, 375, length = n + 1)hcl(h = hues, l = 65, c = 100)[1:n]}colormap <- rev(gg_color_hue(M))

#brewer。pal(M,‘RdYlGn’)

繪製3D瀑布圖

pmar <- par(mar = c(5。1, 4。1, 4。1, 6。1))perspbox(z=as。vector(0),

#add=TRUE,

xlim=c(20,70),ylim=c(360,750),zlim=c(0,15),ticktype = “detailed”,bty = “f”,box = TRUE,colkey = FALSE,theta = -110, phi = 20, d=3)for (i in 1:M){df0<-plotdata[plotdata$variable==group[i],]Ndf<-nrow(df0)df<-rbind(df0,c(df0$x[1],df0$y[Ndf],df0$variable[Ndf]))with(df,polygon3D(x=variable,y=x, z=y, alpha=0。6,col=colormap[i],lwd = 3,add=TRUE,colkey = FALSE))with(df0,lines3D(x=variable,y=x, z=y,lwd = 0。5,col=“black”,add=TRUE))}colkey (col=colormap,clim=range(plotdata$y),clab = “Z Value”, add=TRUE, length=0。5,side = 4)

#設定圖例

如何繪製精美的瀑布圖

備註:X軸變數資料(不同樣本)、不同的Y軸離散型變數(不同指標)、Z軸數值變數(指標相對含量)

標簽: library  color  Text  變數  Black