1

大家好,

我想在我的线框图中添加浮动的文本,我很困惑。我当然可以将文本添加为​​标题(例如 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”,我会怎么做?

4

2 回答 2

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")
    }
)
于 2011-12-22T16:43:22.210 回答
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")将其绘制在中心。

于 2011-12-22T17:07:00.370 回答