如何在R中的格子线框中添加文本

时间:2011-12-22 16:20:29

标签: r text lattice wireframe

美好的一天,

我想在我的线框图中添加漂浮的文字,我感到很困惑。我当然可以将文本添加为​​标题(例如main =“Hello World”)但我宁愿在标题中没有我的特定文本

以下是线框示例:

  library(lattice)
  #set up some simplified data
  x <- seq(-.8, .8, .1)
  y <- seq(-.8, .8, .1)
  myGrid <- data.frame(expand.grid(x,y))
  colnames(myGrid) <- c("x","y")
  myGrid$z <- myGrid$x + myGrid$y

  wireframe(
     myGrid$z ~ myGrid$x * myGrid$y, 
     xlab="X", ylab="Y", zlab="Z",
     scales = list(z.ticks=5, arrows=FALSE, col="black", font=3, tck=1)
  )

如果我想在某个地方添加“Hello World”,我会怎么做呢?

2 个答案:

答案 0 :(得分:2)

覆盖面板功能并使用grid.text添加文字。

wireframe(
    myGrid$z ~ myGrid$x * myGrid$y, 
    xlab="X", ylab="Y", zlab="Z",
    scales = list(z.ticks=5, arrows=FALSE, col="black", font=3, tck=1),
    panel = function(...)
    {
      panel.wireframe(...)
      grid.text("some text", 0, 0, default.units = "native")
    }
)

答案 1 :(得分:2)

或者,您可以在使用

绘制线框后添加文本
grid::grid.text("some text", x=unit(0.7, "npc"), y=unit(0.8, "npc"))

unit功能允许您指定文本的位置。如果您使用"npc"作为单位,则图表的总宽度和高度为1.因此,上面的示例会在右上角显示您的文字,而x=y=unit(0.5, "npc")会将其显示在中心。< / p>