如何使用par(xpd=T)在打印区域外打印图像?
在R中,我试图在绘图区域外绘制一个图像(作为图例)。然而,似乎如何使用par(xpd=T)在打印区域外打印图像?,r,plot,clip,R,Plot,Clip,在R中,我试图在绘图区域外绘制一个图像(作为图例)。然而,似乎par(xpd=T)或par(xpd=NA)就是不起作用 下面是一个最小的可重复的错误示例,生成以下图表 par(mar=c(4,4,4,4),xpd=F) plot(1:2,1:2) x <- c(2,2.1) y <- seq(1.1,1.9,len=10) m <- matrix(seq(0,1,len=10),ncol=10,nrow=2,byrow=T) par(xpd=T) image(x-.2,y,m,
par(xpd=T)
或par(xpd=NA)
就是不起作用
下面是一个最小的可重复的错误示例,生成以下图表
par(mar=c(4,4,4,4),xpd=F)
plot(1:2,1:2)
x <- c(2,2.1)
y <- seq(1.1,1.9,len=10)
m <- matrix(seq(0,1,len=10),ncol=10,nrow=2,byrow=T)
par(xpd=T)
image(x-.2,y,m,add=T)
image(x+.05,y,m,add=T)
par(xpd=NA)
image(x-.2,y,m,add=T)
image(x+.05,y,m,add=T)
par(mar=c(4,4,4,4),xpd=F)
绘图(1:2,1:2)
坦率地说,我对你的问题没有直接的答案。我很确定它与image()
有关,因为xpd=TRUE
对于其他函数(如text()
)效果很好
这里有两个或多或少的黑客解决方案,对我和你的MWE都有帮助,希望能帮助你完成实际的情节:
x我认为它与image()
相关,而不是par()
,因为像text()
这样的函数实际上可以工作。这里有一个对我有效的解决方案:@hplieninger你能提供你的解决方案作为答案吗?因为我没有使用网格
,我看不出这有什么帮助。