使用 geom_text 在 ggplot2 中的各个方面注释文本

Seb*_*ien 5 label r ggplot2 geom-text

使用以下代码,我获得每个面上的文本,但文本是叠加的:“X1”和“X2”叠加在每个面上。我的代码问题出在哪里?

R代码:

new_df <- data.frame(f = as.factor(rep(1:2, 15)), x = rnorm(30), y = runif(30))
g <- ggplot(data = new_df, aes(x = x, y = y)) + geom_point() 
g <- g + facet_grid(. ~ f)
g
label_graph <- data.frame(label = c("X1", "X2"))

g <- g + geom_text(data = label_graph,
                    mapping = aes(x = Inf, y = -Inf, label = label),
                    hjust = 1.1, vjust = -1.1)
g
Run Code Online (Sandbox Code Playgroud)

MSR*_*MSR 2

您是否可以选择直接标记分面标题而不是标记底角?你的例子表明这可能是一个更好的解决方案。如果这适用于您的实际用例,您可以f通过粘贴直接更改列X,然后您将得到:

new_df <- data.frame(f = as.factor(paste0("X", rep(1:2, 15))), x = rnorm(30), y = runif(30))
g <- ggplot(data = new_df, aes(x = x, y = y)) + geom_point() 
g <- g + facet_grid(. ~ f)
g
Run Code Online (Sandbox Code Playgroud)

面标签