将geom_text的角度与绘制的线对齐

时间:2014-09-03 05:24:00

标签: r ggplot2

我想在ggplot2中使用geom_line()绘制一条线,并使用geom_text()放置文本注释,以使文本与该线平行。是否有一种直接的方法来确定我应该为geom_text()指定的角度,以便文本与该行平行?

e.g:

df <- data.frame(x=c(1,2), y=c(150, 340))
ggplot(data=df, aes(x=x,y=y)) + geom_line() + 
    geom_text(label="label", x = mean(df$x), y=mean(df$y) + 1, angle = ???)

我正在试图弄清楚是否有一个表达式我可以代替“???”自动计算合适的角度。

取斜线的arctan将不起作用,因为geom_text中的角度是设备空间中的角度,而不是绘图坐标空间:我需要指定不同的角度来绘制具有不同方面的设备上的绘图比率(例如,png(500,500)与png(1000,500))。

1 个答案:

答案 0 :(得分:1)

根据tonytonov的建议,您可能首先尝试找出设备的宽高比,然后在coord_fixed()see here)的情节中使用此比率。然后,您可以计算文本元素所需的角度。