4

我试图弄清楚如何在text()orgrid.text()函数(或 R 中的任何其他类似函数)中为 x 和 y 坐标使用不同的坐标系。

在下面的示例中,我想将text()函数的 Y 坐标设置为距屏幕底部 10%,而不是使用 Y 刻度的刻度。我可以grid.text()用 y = 0.1 来做到这一点,但我不知道如何将 X 位置设置grid.text()为绘图的 X 比例。基本上,我想混合功能text()grid.text()功能。

我知道可以grid.text选择传递单位,但我不知道如何使用图中的单位。

library(grid)

test= data.frame(
  x = c(1,2,3),
  y = c(12,10,3),
  n = c(75,76,73)
  )

par(mar = c(13,5,2,3))
plot(test$y ~ test$x,type="b")

text(x=test$x, y=-2, label=test$n, xpd=T)

在此处输入图像描述

4

1 回答 1

3

重写:

使用 grconvertY() 从默认的 7 英寸显示尺寸转换为用户坐标:

opar <- par(mar = c(13,5,2,3))
plot(test$y ~ test$x,type="b")
text(x=test$x, y=grconvertY(0.1*7 , "in", "user") , label=test$n, xpd=T)
par(opar)

默认显示为 7 平方英寸(至少在我的机器上),但您需要为text函数提供用户坐标。 grconvertY并且grconvertX能够执行该转换,尽管您对 X 维度的用户坐标感到满意,因此您不应该使用grconvertX.

在此处输入图像描述

于 2012-05-06T16:10:34.290 回答