ggplot2:我可以在情节画布的边缘绘图吗?

时间:2016-10-29 05:45:59

标签: r ggplot2

我正在使用ggplot2。我想制作一个情节,用红色符号在绘图画布的上边缘标记某些点。这样的事情:

d <- data.frame(x=1:3, y=3:1)
markings <- function() {
    d2 <- data.frame(x=c(1.5,2.5), y=3)
    geom_point(data=d2, aes(x=x, y=y), col="red")
}
ggplot(data=d) + geom_point(aes(x=x, y=y)) + markings()

Example figure, red dots are certain markers at the upper edge

问题是markings()函数不知道图的上边缘在哪里(值3是未知的。)在普通图形中我可以使用par("usr")来找到y值上边缘,是否有任何解决办法迫使点位于ggplot2图形的上边缘?

1 个答案:

答案 0 :(得分:0)

我认为最好的选择是使用geom_rug。对不起,我还是 不太习惯ggplot的方式...

d <- data.frame(x=1:3, y=3:1)
markings <- function() {
    d2 <- data.frame(x=c(1.5,2.5))
    geom_rug(data=d2, aes(x=x), col="red", sides="t")
}
ggplot(data=d) + geom_point(aes(x=x, y=y)) + markings()

Close to what I wanted--using <code>geom_rug()</code>

谢谢你们的帮助: - )