首页 > 解决方案 > 使用 geom_text 在 ggplot2 中的单个方面注释文本

问题描述

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

代码:

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

标签: rggplot2labelgeom-text

解决方案


您可以选择直接标记构面标题而不是标记底角吗?您的示例表明这可能是一个更好的解决方案。如果这适用于您的实际用例,您可以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

分面标签


推荐阅读