R ggplot2:我可以在绘图画布的边缘绘图吗?
我正在使用ggplot2。我想做一个绘图,在绘图画布的上边缘用红色符号标记某些点。诸如此类:R ggplot2:我可以在绘图画布的边缘绘图吗?,r,ggplot2,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)) + ma
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()
d我认为最好的选择是使用geom\u rug
。对不起,我还是
不太会用情节的方式思考
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()
d您可以使用Inf
,但这将非常困难。否则,您需要构建绘图(ggplot\u build
)并从中提取比例限制。哇,我没有想到这一点。它不太漂亮,但可能足够好:-)我广泛了解ggplot\u build
,但这会扼杀nicemarking()
函数。我还可以根据数据设置ylim
(本例中为3:1
),但在这种情况下,我必须单独计算并传递到标记。我认为可能存在一种方法,可以告诉ggplot不要转换y,也可以跳到下面的网格绘制工具。如果您想要比例的结尾,则无法构建绘图,因为每个图层都可以有不同的范围数据,并且只有在训练完比例后,才有可用的限制。另一方面,如果你只想与边缘保持一定的距离,那么还有其他不需要构建信息的选项