首页 文章

R lattice多个绘图页面如何在页边距中放置文本

提问于
浏览
0

我想在使用R晶格创建的图表页面上添加 Headers . 例如,我可以在页面上放置四个图,如下所示:

#load lattice
require(lattice). 
# data
a<-c(1,3,4)
b<-c(1,2,3)
# make plots
plt1<-xyplot(a~b,main="plt1")
plt2<-xyplot(a~b,main="plt2")
plt3<-xyplot(a~b,main="plt3")
plt4<-xyplot(a~b,main="plt4")
# plot plots
plot(plt1, split=c(1,1,2,2),newpage=FALSE)
plot(plt2, split=c(1,2,2,2),newpage=FALSE)
plot(plt3, split=c(2,1,2,2),newpage=FALSE)
plot(plt4, split=c(2,2,2,2),newpage=FALSE)

现在,如何将 Headers “My Page of Plots”置于plt1和plt3之上的上边缘?

1 回答

  • 0

    您可以使用 grid 来推送视口并添加 Headers :

    library(grid)
    vp2 <- viewport(x = 0.5, y = 1, width = 1, height = .1, just = c("center", "top"))
    pushViewport(vp2)
    grid.rect(gp = gpar(vol = "blue")) # just to see dimensions/position of the viewport
    grid.text("My Title", gp = gpar(cex = 2))
    

    您必须稍微使用视口的位置和尺寸 . 理想情况下,您还可以为 lattice 调用添加上边距,以便为 Headers 创建一些空白区域 .

    enter image description here

相关问题