Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在levelplot面板区域外添加文本_R_Plot_Raster_Lattice - Fatal编程技术网

R 在levelplot面板区域外添加文本

R 在levelplot面板区域外添加文本,r,plot,raster,lattice,R,Plot,Raster,Lattice,我想在levelplot的绘图区域外添加文本。在下面的示例中,我需要文本位于指向位置的某个位置 library (raster) library(rasterVis) f <- system.file("external/test.grd", package="raster") r <- raster(f) levelplot(r) tldr; 您可以使用较低级别的网格图形功能对绘图进行注释。在这种情况下,请执行以下操作: library(grid) seekViewport(

我想在levelplot的绘图区域外添加文本。在下面的示例中,我需要文本位于指向位置的某个位置

library (raster)
library(rasterVis)

f <- system.file("external/test.grd", package="raster")
r <- raster(f)
levelplot(r) 

tldr; 您可以使用较低级别的网格图形功能对绘图进行注释。在这种情况下,请执行以下操作:

library(grid)
seekViewport("plot_01.legend.top.vp")
grid.text("Hello", x=0, y=unit(1,"npc") + unit(0.4, "lines"), just=c("left", "bottom"),
          gp=gpar(cex=1.6))

rasterVis和其他基于lattice的软件包使用grid图形系统,而不是
mtext()
所属的基本图形系统

在这里,使用网格,我将如何在视口左上角上方0.4行的位置添加文本(一个技术网格术语),其中打印了上边距图

  • 首先,找到相关视口的名称

    library(grid)
    levelplot(r)
    grid.ls(viewport=TRUE, grobs=FALSE)  ## Prints out a listing of all viewports in plot
    
    ll <- seekViewport("plot_01.legend.top.vp")
    grid.text("Hello", x = 0, y = unit(1,"npc") + unit(0.4, "lines"), 
              just = c("left", "bottom"),
              gp = gpar(cex=1.6))
    upViewport(ll)  ## steps back up to viewport from which seekViewport was called
    
    快速扫描grid.ls()返回的列表会出现一个名为
    plot\u 01.legend.top.vp
    的视口,它看起来是一个很有希望的候选对象。如果要检查它是否正确,可以使用以下内容(使用视口的完整路径)围绕它绘制一个矩形:

  • 然后,使用网格极为灵活的坐标系,将所需文本放置在该视口左上角的正上方

    library(grid)
    levelplot(r)
    grid.ls(viewport=TRUE, grobs=FALSE)  ## Prints out a listing of all viewports in plot
    
    ll <- seekViewport("plot_01.legend.top.vp")
    grid.text("Hello", x = 0, y = unit(1,"npc") + unit(0.4, "lines"), 
              just = c("left", "bottom"),
              gp = gpar(cex=1.6))
    upViewport(ll)  ## steps back up to viewport from which seekViewport was called
    
    ll