当我尝试向图形中添加线时,我对如何获取正确的索引来绘制线感到困惑,以使这些点可以恰好位于条形图的中间,下面是图形和我使用的代码绘制它。我想知道如何调整代码以使点的位置更好。
cupbp<-read.xlsx("Go.xlsx",sheet=2)
cupbp2<-subset(cupbp,PValue<0.05)
cupbp2$P.value<-log(cupbp2$PValue,base=2)
cupbp2$P.value<-abs(cupbp2$P.value)
cupbp2$bp<-substr(cupbp2$Term,12,nchar(cupbp2$Term))
opar<-par(no.readonly=T)
par(mar=c(5,25,7,10)+0.1)
par(cex.axis=0.6)
mybar<-barplot(height=cupbp2$P.value,names=cupbp2$bp,horiz=TRUE,las=1,xaxt="n",col="red",xlab="-log2 P value",xlim=c(0,ceiling(max(cupbp2$P.value))))
title("control vs AD up Bioprocess",line=4,adj=0.5)
axis(side=1,at=axTicks(1))
par(new=T)
plot(cupbp2$Count, mybar,
type="o", pch=19, lwd=2, col="yellow", cex=1.2,
ann=F,xaxt="n",yaxt="n",xlab="Gene number")
axis(side=3,at=axTicks(3))
mtext("Gene number",3,line=2)
par(opar)
Barplot函数提供了中点值,在我的示例中存储在“ mybar”中, 但是,plot函数不适合绘制线,由于我现在不太了解的原因,将plot(count,mybar)更改为lines(count,mybar)可以解决点位置的问题,但是这次图的轴出错。也许使用lines()会使R考虑第二个图形而不是新图形,因此该轴被包含为原始图形。请参见此修改示例,其中基因编号轴应为0到7,但仍保留为原来的0到14。
请给我有关如何按预期调整数字的宝贵建议。
答案 0 :(得分:0)
没有您的数据,我无法尝试,但是我认为这是可能的:首先,将您的基因编号乘以2,然后生成图,但将0标记为“ 0”,将4标记为“ 2” ,6表示“ 3”,8表示“ 4” ...,14表示“ 7”。