展示二分類變量時,可以考慮作背靠背條形圖(back-to-back barplot)來展示,會顯得更加直觀。下面介紹一個實例。
1.原始數(shù)據(jù)文件
內(nèi)容如下:

rawdata.txt
2.R代碼
a.讀取原始數(shù)據(jù)
mydata <- read.table("rawdata.txt", header = TRUE, sep = "\t")
no <- nrow(mydata)
up <- mydata$up
down <- mydata$down
downmax <- ceiling(range(down)[2]/10)*10
upmax <- ceiling(range(up)[2]/10)*10
b.圖形布局
par(mar=c(0.05, 25, 0.5, 1))
plot.new()
plot.window(xlim=c(-downmax, upmax), ylim=c(-1.5, no+4))
c.繪制圖形主體
ticks <- seq(-downmax, upmax, 10)
y <- 1:no
h <- 0.3
lines(rep(0, 2), c(-1.5, no+1.5), col="white")
segments(-downmax, y, 0, y, lty="dotted")
rect(-down, y-h, 0, y+h, col="blue", border=NA)
rect(0, y-h, up, y+h, col="red", border=NA)
mtext(as.matrix(mydata$pathway), at=y, adj=1, side=2, las=2, cex=0.8)
par(cex.axis=0.5, mex=0.5)
axis(3, at=ticks, labels=abs(ticks), pos=no+1, cex.axis=0.8)
d.繪制說明文本
text((-downmax+upmax)/2, no+4, "Gene counts", pos=1, font=2, col="black")
text(-downmax+10, no+3, expression(NA %<-% down), pos=1, font=2, col="blue", cex=1.0)
text(upmax-10, no+3, expression(up %->% NA), pos=1, font=2, col="red", cex=1.0)
3.生成圖形
