混合X和Y坐标系

时间:2012-05-06 14:26:16

标签: r plot

我试图计算如何在text()grid.text()函数(或R中的任何其他类似函数)中对x和y坐标使用不同的坐标系。

在下面的示例中,我想将text()函数的Y坐标设置为距离屏幕底部10%,而不是使用Y比例的比例。我可以使用grid.text()并且y = 0.1但我不知道如何将grid.text()的X位置设置为绘图的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)

enter image description here

1 个答案:

答案 0 :(得分: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功能提供用户坐标。 grconvertYgrconvertX能够执行该转化,但您对X维度的用户坐标感到满意,因此您不应使用grconvertX

enter image description here