Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用par(xpd=T)在打印区域外打印图像?_R_Plot_Clip - Fatal编程技术网

如何使用par(xpd=T)在打印区域外打印图像?

如何使用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,

在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,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你能提供你的解决方案作为答案吗?因为我没有使用
网格
,我看不出这有什么帮助。