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

使用以下代码,我在每个构面上都获取了文本,但该文本是叠加的:“ 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
ffffcccc 回答:使用geom_text在ggplot2中的各个方面注释文本

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

facetlabels

,

您需要将f列添加到label_graph中,这样,一旦应用了构面,标签就位于指定的构面上

new_df <- data.frame(f = as.factor(rep(1:2,15)),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

enter image description here

本文链接:https://www.f2er.com/3132348.html

大家都在问