如何在 Facet 模式下定位 R 平方和方程?
How to position R-squared and equation in Facet mode?
我想在分面模式下的每个图中显示线性方程和 R 平方。到目前为止,这是我的代码。
library("ggplot2")
datos <- read.table("~/Documents/master2/plots/dosis_todos/datos.dat", header=TRUE, quote="\"")
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() + geom_smooth(method="lm", se=F) +
facet_wrap(~datos$cristal)
在 answer 中阅读了有关 ggpmisc 的内容后,我尝试了
my.formula <- y ~ x
library("ggpmisc")
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), formula = my.formula, parse = TRUE) +
facet_wrap(~datos$cristal)
这有点管用,除了方程的位置在每个图上都下降直到消失...
如果我将绘图保存得足够大,我可以在 9 个绘图中看到我的所有文本....往下看。
所以我想问题是如何保持固定方程的位置和R平方信息?
谢谢
Ps。是的,我知道N57只有3分:(
Ps。这是我的 data
的 link
感谢@aosmith 的评论,我可以做我想做的事了。
密码是:
ggplot(datos, aes(corriente, dosis)) +
geom_point(shape = 21, size = 3) +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), formula = my.formula, parse = TRUE) +
facet_wrap(~datos$cristal)
@murpholinox 是的,你是对的,'ggpmisc' 中的代码还不够智能(还)无法检测出不同颜色等美学价值何时对每个面板都是独一无二的。
但是,可以手动定位将数据单元中的位置传递给参数 label.y
and/or label.x
的方程式。所以,有一个解决方法。
library("ggplot2")
library("ggpmisc")
datos <- read.table("datos.dat", header=TRUE, quote="\"")
my.formula <- y ~ x
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
formula = my.formula, parse = TRUE, label.y = 0.9) +
ylim(0, 1) +
facet_wrap(~datos$cristal)
也可以将向量传递给label.y
和label.x
,这样就可以为每个面板手动定位每个方程。
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
formula = my.formula, parse = TRUE,
label.y = c(rep(0.9, 6), rep(0.15, 2), 0.9)) +
ylim(0, 0.95) +
facet_wrap(~datos$cristal)
我想在分面模式下的每个图中显示线性方程和 R 平方。到目前为止,这是我的代码。
library("ggplot2")
datos <- read.table("~/Documents/master2/plots/dosis_todos/datos.dat", header=TRUE, quote="\"")
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() + geom_smooth(method="lm", se=F) +
facet_wrap(~datos$cristal)
在 answer 中阅读了有关 ggpmisc 的内容后,我尝试了
my.formula <- y ~ x
library("ggpmisc")
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), formula = my.formula, parse = TRUE) +
facet_wrap(~datos$cristal)
这有点管用,除了方程的位置在每个图上都下降直到消失...
如果我将绘图保存得足够大,我可以在 9 个绘图中看到我的所有文本....往下看。
所以我想问题是如何保持固定方程的位置和R平方信息?
谢谢
Ps。是的,我知道N57只有3分:(
Ps。这是我的 data
的 link感谢@aosmith 的评论,我可以做我想做的事了。
密码是:
ggplot(datos, aes(corriente, dosis)) +
geom_point(shape = 21, size = 3) +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")), formula = my.formula, parse = TRUE) +
facet_wrap(~datos$cristal)
@murpholinox 是的,你是对的,'ggpmisc' 中的代码还不够智能(还)无法检测出不同颜色等美学价值何时对每个面板都是独一无二的。
但是,可以手动定位将数据单元中的位置传递给参数 label.y
and/or label.x
的方程式。所以,有一个解决方法。
library("ggplot2")
library("ggpmisc")
datos <- read.table("datos.dat", header=TRUE, quote="\"")
my.formula <- y ~ x
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
formula = my.formula, parse = TRUE, label.y = 0.9) +
ylim(0, 1) +
facet_wrap(~datos$cristal)
也可以将向量传递给label.y
和label.x
,这样就可以为每个面板手动定位每个方程。
ggplot(datos, aes(x = corriente, y = dosis, colour = cristal)) +
geom_point() +
geom_smooth(method="lm", se=F, formula=my.formula) +
stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
formula = my.formula, parse = TRUE,
label.y = c(rep(0.9, 6), rep(0.15, 2), 0.9)) +
ylim(0, 0.95) +
facet_wrap(~datos$cristal)