使用以下代码,我在每个构面上都获取了文本,但该文本是叠加的:“ 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
非常感谢(这是我的第一篇文章!)
您可以仅将标签添加到原始数据中吗?
new_df <- data.frame(f = as.factor(rep(1:2, 15)), x = rnorm(30), y = runif(30), label = c("X1","X2"))
g <- ggplot(data = new_df, aes(x = x, y = y)) + geom_point()
g <- g + facet_grid(. ~ f)
g <- g+ geom_text(mapping = aes(x = Inf, y = -Inf, label = label),
hjust = 1.1, vjust = -1.1)
g
您需要将f列添加到label_graph,这样,一旦应用了构面,标签就位于指定的构面上
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)
label_graph <- data.frame(label = c("X1", "X2"),f=factor(1:2))
g <- g + geom_text(data = label_graph,
mapping = aes(x = Inf, y = -Inf, label = label),
hjust = 1.1, vjust = -1.1)
g