如何在绘图中添加一条对角线?

16

我想在图表中添加一条斜线,它不是线性回归线,只是一条对角线。请问有谁能帮我完成这个操作吗?非常感谢!


7
看一下abline(...) - jlhoward
3
如果你正在使用ggplot,可以使用geom_abline函数。 - rawr
8个回答

16

如果您想添加1:1的对角线:

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

14

你可以使用 abline()。

abline(coef = c(0,1))

这会在现有图中给你一条从截距为0,斜率为1的直线。

如果希望该线对于任何图都是对角线,请将截距设置为左下角,并将斜率设置为两个轴之间增加的比率。


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

2
也许有点晚了,但我想与你分享我的答案-也许会有用。首先,定义一个面板函数,并在其中定义您的abline参数,如下所示:
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

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))

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)

0

一条斜线,从0到100,例如用于显示实际值与预测值:abline=c(0,1)


-2
要添加一条线,例如从x=-3,y=-3到x=3,y=3: < p > < code > segments(-3,-3,3,3)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接