在 ggscatter 中为 stat_mean 添加标签
Adding a label to stat_mean in ggscatter
有没有办法在组平均点的顶部添加一个标签来指示摸索标签cyl?谢谢!
[可重现的例子:]
# Load data
library(ggpubr)
df <- mtcars
df$cyl <- as.factor(df$cyl)
# Scatter plot with ellipses and group mean points
ggscatter(df, x = "wt", y = "mpg",
color = "cyl", shape = "cyl", ellipse = TRUE)+
stat_mean(aes(color = cyl, shape = cyl), size = 4)
我有点不清楚你会如何用 ggpubr
做到这一点。出于某种原因,它似乎不喜欢让你使用 geom_text 和 stat_mean
。
一种解决方法是直接使用 ggplot
和一点 dplyr
来计算均值。你可以做到
library(dplyr)
means <- df %>%
group_by(cyl) %>%
summarize(across(c(wt, mpg), mean))
ggplot(df) +
aes(x=wt, y=mpg, color=cyl, shape=cyl) +
geom_point() +
stat_ellipse(aes(fill=cyl), alpha=.2, geom="polygon") +
geom_point(size=4, data=means) +
geom_label(aes(label=cyl), color="black", nudge_y =2.5, data=means) +
ggpubr::theme_pubr()
获得
有没有办法在组平均点的顶部添加一个标签来指示摸索标签cyl?谢谢!
[可重现的例子:]
# Load data
library(ggpubr)
df <- mtcars
df$cyl <- as.factor(df$cyl)
# Scatter plot with ellipses and group mean points
ggscatter(df, x = "wt", y = "mpg",
color = "cyl", shape = "cyl", ellipse = TRUE)+
stat_mean(aes(color = cyl, shape = cyl), size = 4)
我有点不清楚你会如何用 ggpubr
做到这一点。出于某种原因,它似乎不喜欢让你使用 geom_text 和 stat_mean
。
一种解决方法是直接使用 ggplot
和一点 dplyr
来计算均值。你可以做到
library(dplyr)
means <- df %>%
group_by(cyl) %>%
summarize(across(c(wt, mpg), mean))
ggplot(df) +
aes(x=wt, y=mpg, color=cyl, shape=cyl) +
geom_point() +
stat_ellipse(aes(fill=cyl), alpha=.2, geom="polygon") +
geom_point(size=4, data=means) +
geom_label(aes(label=cyl), color="black", nudge_y =2.5, data=means) +
ggpubr::theme_pubr()
获得