繁体   English   中英

如何在R ggplot上错开多个因素的线+ Rsquared方程?

[英]How to stagger the equation of line + Rsquared for multiple factors on a R ggplot?

我有四个因素,每个因素都有其独特的回归线和 Rsquared。 我想做三件事:

  1. 将 Rsq 与线的方程对齐(当前位于底部)

  2. 将四个方程排列在单独的行上

  3. 将四个方程排列在右上方。

     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)

    在此处输入图像描述

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)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM