Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2:我可以在绘图画布的边缘绘图吗?_R_Ggplot2 - Fatal编程技术网

R 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

我正在使用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()

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
,但这会扼杀nice
marking()
函数。我还可以根据数据设置
ylim
(本例中为
3:1
),但在这种情况下,我必须单独计算并传递到
标记。我认为可能存在一种方法,可以告诉ggplot不要转换y,也可以跳到下面的网格绘制工具。如果您想要比例的结尾,则无法构建绘图,因为每个图层都可以有不同的范围数据,并且只有在训练完比例后,才有可用的限制。另一方面,如果你只想与边缘保持一定的距离,那么还有其他不需要构建信息的选项