我需要在图表上绘制一个矩形来突出显示不同的变化。我需要使用grid
包。我尝试使用grid.rect
,但它不起作用。我希望我的矩形在图片上看起来像。
在图片的左侧部分,您可以看到我的图表和图片的右侧部分,我已经添加了矩形(在Paint中),就像我想要的那样。
library(grid)
library(lattice)
library(sandwich)
data("Investment")
Investment <- as.data.frame(Investment)
trellis.par.set(theme = canonical.theme("postscript", color=FALSE))
grid.newpage()
pushViewport(viewport(x=0, width=.4, just="left"))
print(barchart(table(Investment$Interest)),
newpage=FALSE)
popViewport()
pushViewport(viewport(x=.4, width=.5, just="left"))
print(xyplot(Investment ~ Price, data=Investment,
auto.key=list(space="right"),
par.settings=list(superpose.symbol=list(pch=c(1, 3, 16),
fill="white"))),
newpage=FALSE)
popViewport()
答案 0 :(得分:3)
您尝试绘制矩形的位置并不完全清楚,但下面的代码会添加矩形以大致匹配您的图片。你可以调整位置。
使用您的代码就像使用它一样。我将首先重复您的print语句,然后添加矩形。
print(xyplot(Investment ~ Price, data=Investment,
auto.key=list(space="right"),
par.settings=list(superpose.symbol=list(pch=c(1, 3, 16),
fill="white"))),
newpage=FALSE)
grid.rect(x = unit(0.42, "npc"), y = unit(0.35, "npc"),
width = unit(0.2, "npc"), height = unit(0.2, "npc"),
gp=gpar(col="red"))
popViewport()