【发布时间】:2015-02-12 10:40:21
【问题描述】:
我想在绘图中添加一条对角线。它不是线性回归线。我只想要一条诊断线。 谁能帮我这个?非常感谢!
【问题讨论】:
-
看看
abline(...)。 -
或
geom_abline如果您使用的是 ggplot
标签: r ggplot2 line scatter-plot
我想在绘图中添加一条对角线。它不是线性回归线。我只想要一条诊断线。 谁能帮我这个?非常感谢!
【问题讨论】:
abline(...)。
geom_abline 如果您使用的是 ggplot
标签: r ggplot2 line scatter-plot
lines(x = c(0,100), y = c(0,100))
【讨论】:
如果您不希望线条延伸到整个绘图范围,或者您想添加任意线条段,请使用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))
【讨论】:
这会在 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)
【讨论】:
如果要加1:1对角线:
qplot(1,1) + geom_abline(intercept = 0, slope = 1)
【讨论】:
要添加一条线,例如,从 x=-3, y=-3 到 x=3, y=3:
segments(-3,-3,3,3)
【讨论】:
一个对角线,从 0 到 100,例如显示实际值与预测值:abline=c(0,1)
【讨论】:
你可以使用 abline()
abline(coef = c(0,1))
这会在现有绘图中为您提供一条从截距 0 开始、斜率为 1 的线。
如果您希望线与任何图成对角线,只需将截距设置为左下角,将斜率设置为两个轴之间的增加比率。
【讨论】:
也许这有点晚了,但是我想与您分享我的答案-也许有用。首先,定义一个面板函数并在其中定义您的 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)
}
您可以根据您的用例自定义参数。
然后您可以将“面板”功能添加到您的绘图库中,即 ggplot 或 hexbin 绘图系列。这里我使用了 hexbinplot 函数,这是一个非常好的可视化函数:
hexbinplot(x ~ y, panel = panel)
【讨论】: