我似乎无法复制添加线性abline到log-log ggplot.下面的代码说明.感谢我出错的想法.
d = data.frame(x = 100*sort(rlnorm(100)), y = 100*sort(rlnorm(100))) (fit = lm(d$y ~ d$x)) # linear plot to check fit ggplot(d, aes(x, y)) + geom_point() + geom_abline(intercept = coef(fit)[1], slope = coef(fit)[2], col='red') # log-log base plot to replicate in ggplot (don't worry if fit line looks a bit off) plot(d$x, d$y, log='xy') abline(fit, col='red', untf=TRUE) # log-log ggplot ggplot(d, aes(x, y)) + geom_point() + geom_abline(intercept = coef(fit)[1], slope = coef(fit)[2], col='red') + scale_y_log10() + scale_x_log10()
Didzis Elfer.. 8
当你正在策划x和y之间的线性关系,你可以使用geom_smooth()
与method="lm"
.
ggplot(d, aes(x, y)) + geom_point() + geom_smooth(method="lm",se=FALSE)+ scale_y_log10() + scale_x_log10()
似乎geom_abline()
没有untf=TRUE
关于功能的论据abline()
.
解决方法是使用geom_line()
其中的新数据框,其中包含使用线性模型的系数或使用函数计算的y值predict()
.
ggplot(d, aes(x, y)) + geom_point() + geom_line(data=data.frame(x=d$x,y=coef(fit)[1]+coef(fit)[2]*d$x))+ scale_y_log10() + scale_x_log10() ggplot(d, aes(x, y)) + geom_point() + geom_line(data=data.frame(x=d$x,y=predict(fit)))+ scale_y_log10() + scale_x_log10()
当你正在策划x和y之间的线性关系,你可以使用geom_smooth()
与method="lm"
.
ggplot(d, aes(x, y)) + geom_point() + geom_smooth(method="lm",se=FALSE)+ scale_y_log10() + scale_x_log10()
似乎geom_abline()
没有untf=TRUE
关于功能的论据abline()
.
解决方法是使用geom_line()
其中的新数据框,其中包含使用线性模型的系数或使用函数计算的y值predict()
.
ggplot(d, aes(x, y)) + geom_point() + geom_line(data=data.frame(x=d$x,y=coef(fit)[1]+coef(fit)[2]*d$x))+ scale_y_log10() + scale_x_log10() ggplot(d, aes(x, y)) + geom_point() + geom_line(data=data.frame(x=d$x,y=predict(fit)))+ scale_y_log10() + scale_x_log10()