坦率地说,我对你的问题没有直接的回答。我很肯定这和
image()
,因为
xpd = TRUE
其他功能如
text()
.
以下是两个或多或少的黑客解决方案,我与您的MWE一起工作,希望有助于您的实际情节:
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 = TRUE)
# Solution 1: useRaster = TRUE
par(mar = c(4, 4, 4, 4), xpd = TRUE)
plot(1:2, 1:2)
image(x + .05, y, m, add = TRUE, useRaster = TRUE)
# text(x + .05, y, "foo")
# Solution 2: grid.clip() plus image() twice
par(mar = c(4, 4, 4, 4), xpd = TRUE)
plot(1:2, 1:2)
image(x + .05, y, m, add = TRUE)
grid::grid.clip()
image(x + .05, y, m, add = TRUE)