如何在图中添加对角线?

时间:2014-12-14 01:08:25

标签: r ggplot2 line scatter-plot

我想在情节中添加对角线。它不是线性回归线。我只想要一个诊断线。 谁能帮我这个?非常感谢!

8 个答案:

答案 0 :(得分:11)

如果要添加1:1对角线:

qplot(1,1) + geom_abline(intercept = 0, slope = 1)

答案 1 :(得分:8)

lines(x = c(0,100), y = c(0,100))

答案 2 :(得分:2)

但是,也许这有点晚了,我想与您分享我的答案-也许有用。首先,定义一个面板功能,并在其中定义您的绝对参数;如下所示:

require(hexbin)
y=runif(100)
x=runif(100)

panel <- function(x,y, ...){
panel.xyplot(x, y, ...)
panel.abline(0,1, col="red", size = 0.25, lwd = 2)
}

您可以根据用例自定义参数。

然后,您可以将“ panel”功能添加到绘图库中,即ggplot或hexbin绘图系列。在这里,我使用hexbinplot函数,这对于可视化来说是非常好的函数:

hexbinplot(x ~ y, panel = panel)

下面是它的外观(请记住,可以通过自定义图形元素使它变得更好)。 enter image description here

答案 3 :(得分:0)

如果您不希望您的线延伸到整个绘图范围,或者您想要添加任意线,请使用segments。 例如,以下代码将绘制一个正方形:

plot.new()
plot.window(xlim = c(0, 3), ylim = c(0, 3))
segments(x0=c(1,1,2,2), x1=c(1,2,2,1), y0=c(1,2,2,1), y1=c(2,2,1,1))

答案 4 :(得分:0)

这会在ggplot中添加对角线,

qplot(1,1) + annotation_custom(linesGrob(c(0,1), c(0,1)))

或等效,

qplot(1,1) + annotate("segment", x=-Inf, xend=Inf,y=-Inf, yend=Inf)

答案 5 :(得分:0)

对角线,从0到100,例如显示实际值与预测值:abline=c(0,1)

答案 6 :(得分:0)

您可以使用abline()

abline(coef = c(0,1))

这将为您提供从现有图的截距0开始到斜率1的直线。

如果要使该线与任何图线成对角线,只需将截距设置为左下角,将斜率设置为两条轴之间的增加比例即可。

答案 7 :(得分:-2)

要添加一条线,例如,从x = -3,y = -3到x = 3,y = 3:

segments(-3,-3,3,3)