我有四個因素,每個因素都有其獨特的回歸線和 Rsquared。我想做三件事:
將 Rsq 與線的方程對齊(當前位于底部)
將四個方程排列在單獨的行上
將四個方程排列在右上方。
set.seed(111) var <- rep(c("SP1","SP2","AB1","AB2"), times = 5) var.val <- rnorm(20,5,1) level <- rep(c(100,200,300,400), each = 5) df <- data.frame(var, var.val, level) df <- df[order(-level),] ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var)) geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1, alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),]) theme_classic() geom_smooth(data = df[df$var %in% c("SP1", "SP2"),], method = "lm", formula = y ~ x, alpha = 0.2) geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),], method = "lm", formula = y ~ x, se = FALSE) scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid")) scale_colour_manual(values = c("black","black","red","blue")) stat_poly_eq(formula = y ~ x, aes(label = paste("atop(", ..eq.label.., ",", ..rr.label.., ")")), label.y = 0.9, parse = TRUE, size = 3)
uj5u.com熱心網友回復:
該atop()函式在兩個方程之間創建一個換行符。你可以list()改用。
對于右上對齊,您可以按以下順序以小數形式給出值。每個方程需要不同的值,因此沒有重疊。
ggplot(df, aes(x = level, y = var.val, col = var, group = var, linetype = var))
geom_point(aes(fill = var), colour="white",pch=21, size=4, stroke = 1,
alpha = 0.7, data = df[df$var %in% c("SP1", "SP2"),])
theme_classic()
geom_smooth(data = df[df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, alpha = 0.2)
geom_smooth(data = df[!df$var %in% c("SP1", "SP2"),],
method = "lm", formula = y ~ x, se = FALSE)
scale_linetype_manual(values = c("dotdash", "dashed","solid", "solid"))
scale_colour_manual(values = c("black","black","red","blue"))
stat_poly_eq(formula = y ~ x, aes(label = paste("list(", ..eq.label.., ",", ..rr.label.., ")")),
label.x = 0.9,
label.y = seq(0.85, 1, by =0.05), parse = TRUE, size = 3)

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487996.html
