以下函数根据需要绘制矩形r1,但尝试以原始单位将其偏移0.5会失败。我试过x = unit(1," native")等,但这并不能解决这个小问题。谢谢你的帮助。
#rm(list=ls(all=TRUE))
library(grid)
vp__g = viewport(xscale=c(-1.5,5.5), yscale=c(-5.5,2.0))
pushViewport(vp__g)
test = function() {
r1 = rectGrob(x=0, y=0, width=2, height=1, default.units="native")
grid.draw(r1)
r1a = editGrob(r1, vp=viewport(x=0.5,y=0.5), name="r1a")
grid.draw(r1a)
}
test()