我正在使用一个名为smallPlot的函数创建一个子图。它将par(fig)
设置为图的子区域(或图,对于多面图)。但是,重置参数后,mtext
稍微关闭。任何想法,为什么会这样?
dev.off()
plot(1:10)
mtext("hello", adj=1, col=2) # written as expected
op4 <- par(fig=c(0.1,0.8,0.3,0.8), new=TRUE)
par(op4)
mtext("hello ", adj=1, col=3) # right spot
par(fig=c(0.1,0.8,0.3,0.8), new=TRUE)
plot(rnorm(400), type="l")
par(op4)
mtext("hello ", adj=1, col=4) # too far left
编辑:原始问题不同,但很容易解决。这里仅供参考:
dev.off()
op1 <- par(no.readonly = TRUE)
plot(1:10)
abline(h=2, col=2) # drawn
par(fig=c(0.1,0.8,0.3,0.8), new=TRUE)
plot(rnorm(400), type="l")
par(op1)
abline(h=4, col=4) # not drawn!
axis(4)
答案:op1$usr
默认为0,1,0,1。
答案 0 :(得分:0)
op4没有usr元素。在小插图后,usr被改变了。要重置,可以使用以下内容:
dev.off()
plot(1:10)
usr <- par("usr")
op4 <- par(fig=c(0.1,0.8,0.3,0.8), new=TRUE)
plot(rnorm(400), type="l")
par(op4)
par(usr=usr)
mtext("hello", adj=1, col=4); mtext("hello", adj=0, col=4)