如何将grob裁剪为grobTree对象

在R网格图形中,如何裁剪grobTree中的grob对象?以某种方式,我只需要调用grid.draw来绘制裁剪的grob。

例如,当我直接绘制我的东西时:

# Direct plotting ----

library(grid)

grid.newpage()
vp <- viewport(x = 0.25,y = 0.25,width = 0.5,height = 0.5,just = c("left","bottom"),name = "vp")
pushViewport(vp)

grid.rect()
grid.polygon(x = c(0.4,0.9,1.4,0.9),y = c(0.5,0.75,0.5,0.25),gp = gpar(lty = 3))

grid.clip()

grid.polygon(x = c(0.4,gp = gpar(fill = "grey"))

我获得了剪切后的版本:

如何将grob裁剪为grobTree对象

但是当我尝试将其放入grobTree对象(以供以后操作)时,它不起作用:


# Indirect plotting ----

library(grid)

aGrob <- grobTree()

vp <- viewport(x = 0.25,name = "vp")

r1 <- rectGrob(vp = vp)
p1 <- grid.polygon(x = c(0.4,gp = gpar(lty = 3),vp = vp)

c1 <- clipGrob(vp = vp)

p2 <- grid.polygon(x = c(0.4,gp = gpar(fill = "grey"),vp = vp)

aGrob <- grobTree(aGrob,r1,p1,c1,p2)

grid.newpage()

grid.draw(aGrob)

我得到一个未压缩的版本:

如何将grob裁剪为grobTree对象

如何在我的grobTree对象中拥有剪切后的版本?

lihaitomsah1 回答:如何将grob裁剪为grobTree对象

在视口clip = TRUE中尝试vp

本文链接:https://www.f2er.com/3020758.html

大家都在问