我在 RStudio 中的 facet_wrap 函数中组合 geom_text 时遇到一些问题。 我想在使用 ggplot2 库创建的每个图中插入每个函数的 R^2。
我使用以下代码总结了数据框中每个函数的 R^2:
df_R_DENSITY<-data.frame(Trial=c("A","B","C","D","E","F","G","H","I","L"),
R = c("italic(R^2) == 0.865", "italic(R^2) == 0.908", "italic(R^2) == 0.887", "italic(R^2) == 0.890", "italic(R^2) == 0.854", "italic(R^2) == 0.825", "italic(R^2) == 0.895", "italic(R^2) == 0.926", "italic(R^2) == 0.864", "italic(R^2) == 0.798"))
然后我使用以下代码创建了图表:
ggplot()+
geom_hline(yintercept = 25, size=0.5, alpha = 0.6, color="gold2") +
geom_hline(yintercept = 35, size=0.5, alpha = 0.6, color="cyan3") +
geom_hline(yintercept = 60, size=0.5, alpha = 0.6, color="magenta") +
geom_point(data = df,aes(x=MetriCorrectetd,y=Droplets.cm2), size=0.2, colour="blue")+
geom_line(data = DF_Predicted_Density,aes(x=MetriCorrectetd,y = Predicted), size=0.8, colour = "green3", alpha = 0.8)+
facet_wrap(~ LABEL, ncol=2)+
geom_text(x = 4.5, y = 225, aes(label = R), data = df_R_DENSITY, parse = T, hjust = 0)+
ylim(0,250)+
theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 24),
axis.title = element_blank(),
strip.text.x = element_text(size = 14, face = "bold"),
strip.background=element_rect(fill="coral2"))
但是 R^2 在图的每个方面都是相互叠加的。正如你在图片中看到的。 我该如何解决这个问题?
无法重现您的问题,因为我们无法访问
DF_Predicted_Density
。请参阅here如何使用最小的可重现示例。不过,您可以使用 stat_cor(...)
包中的 ggpubr
添加 R2。
library(ggplot2)
library(ggpubr)
ggplot(mpg, aes(x = cty, y = hwy)) +
geom_point() +
stat_smooth(method = 'lm') +
theme_bw() +
facet_wrap(~manufacturer) +
stat_cor(aes(label = after_stat(rr.label)), color = "black", geom = "text")
#> `geom_smooth()` using formula = 'y ~ x'
创建于 2024-06-11,使用 reprex v2.1.0