gpt4 book ai didi

r - 如何防止线延伸到整个图形

转载 作者:行者123 更新时间:2023-12-04 10:39:32 25 4
gpt4 key购买 nike

目前,下面的代码(更全面的代码的一部分)会生成一条从图形最左侧到最右侧的线。

geom_abline(intercept=-8.3, slope=1/1.415, col = "black", size = 1,
lty="longdash", lwd=1) +

但是,我希望这条线的范围仅从 x=1 到 x=9; x 轴的界限是 1-9。

在 ggplot2 中,是否有一个命令可以减少从手动定义的截距和斜率导出的线以仅覆盖 x 轴值限制的范围?

最佳答案

您可以使用 geom_segment而不是 geom_abline如果要手动定义线。如果您的斜率来自您绘制的数据集,最简单的方法是使用 stat_smoothmethod = "lm" .

这是一个包含一些玩具数据的示例:

set.seed(16)
x = runif(100, 1, 9)
y = -8.3 + (1/1.415)*x + rnorm(100)

dat = data.frame(x, y)

估计截距和斜率:
coef(lm(y~x))

(Intercept) x
-8.3218990 0.7036189

首先用 geom_abline 做图比较:
ggplot(dat, aes(x, y)) +
geom_point() +
geom_abline(intercept = -8.32, slope = 0.704) +
xlim(1, 9)

使用 geom_segment相反,必须为 x 定义行的开始和结束和 y .确保行在 x 轴上的 1 到 9 之间被截断。
ggplot(dat, aes(x, y)) +
geom_point() +
geom_segment(aes(x = 1, xend = 9, y = -8.32 + .704, yend = -8.32 + .704*9)) +
xlim(1, 9)

使用 stat_smooth .默认情况下,这将仅在解释变量的范围内绘制线条。
ggplot(dat, aes(x, y)) +
geom_point() +
stat_smooth(method = "lm", se = FALSE, color = "black") +
xlim(1, 9)

关于r - 如何防止线延伸到整个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26154255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com