【发布时间】:2015-01-13 04:55:33
【问题描述】:
我正在尝试创建一个轴中断的图形。
它会创建 .jpg 图像,但在此过程中会打印两组 x 轴标签(见附图)。
代码中的什么错误导致了这个问题?
results = read.table("./ceu_asn_afr.txt",head=T)
library(plotrix)
jpeg("Figure1.1.jpg",width=2000,height=2000,res=300)
xgap <- ifelse(as.numeric(results[,1]) > 1.9, as.numeric(results[,1])-0.4, as.numeric(results[,1]))
plotCI(xgap,as.numeric(results[,3]),ui=as.numeric(results[,5]),li=as.numeric(results[,4]),err="y",gap=TRUE,sfrac=0.005, xlab="European odds ratio",ylab="African American odds ratio",cex=1.5,bty="l")
xat <- pretty(xgap)
xat <- xat[xat!=1.6]
xlab <- ifelse(xat>1.5, xat+0.4, xat)
axis(1,at=xat, labels=xlab)
axis.break(1,1.9,style="slash")
lines(c(0.75,2.5),c(0.75,2.5),lty=2)
close.screen(all=TRUE)
dev.off()
【问题讨论】:
-
怀疑是你的
axis和axis.break组合使用造成的。 plotrix 中的gap.plot( , , gap.axis="x", ...)函数旨在捆绑这些不同的依赖项。当前代码中的中断位置与您构建的标签不匹配。您应该使用xaxt="n"来抑制plotCI中的默认x 轴。 -
也许,尽管在其他地方这似乎是使用的方法。如果我理解正确的话,Axis.break 只是把线放进去。参考这个例子,例如:stackoverflow.com/questions/19612348/break-x-axis-in-r
-
“也许”?也许是什么?我提出了三个不同的观点。我没有做任何编码,因为您的示例不可重现。如果您可以将代码替换为先前问题的详细信息并提出新问题,请这样做。 (它是可重现的。)
标签: r axis-labels plotrix