R 为每个刻面图添加额外的不同标签';面_包裹上的s x轴名称
我想在R 为每个刻面图添加额外的不同标签';面_包裹上的s x轴名称,r,R,我想在facet\u wrap中的每个绘图中添加一个p值标签,而不重命名facet变量的顶部标签。我已经设置了scales=“free”,所以请考虑这一点 我可以在绘制离散变量时这样做,因为我只需要在geom上为aes(x=labels)提供标签。然而,当对密度进行刻面时,我需要提供我希望ggplot估计的密度的数值变量 以下是最小可复制代码: library(tidyverse) # Data frame df <- tibble(Var = c("Var1", "Var1", "Va
facet\u wrap
中的每个绘图中添加一个p值标签,而不重命名facet变量的顶部标签。我已经设置了scales=“free”
,所以请考虑这一点
我可以在绘制离散变量时这样做,因为我只需要在geom
上为aes(x=labels)
提供标签。然而,当对密度进行刻面时,我需要提供我希望ggplot
估计的密度的数值变量
以下是最小可复制代码:
library(tidyverse)
# Data frame
df <- tibble(Var = c("Var1", "Var1", "Var1", "Var1", "Var2", "Var2", "Var2", "Var2"),
Val = c(1, 1, 2, 3, 3, 3, 4, 2),
Pvl = c("0.567", "0.049*", "0.078.", "0.003*", "0.567", "0.049*", "0.078.", "0.003*"))
# Plot
ggplot(df) +
geom_density(aes(x = Val)) +
facet_wrap(~Var) +
labs(x = NULL)
库(tidyverse)
#数据帧
df这对你有用吗
library(tidyverse)
ggplot(df) +
geom_density(aes(x = Val)) +
facet_wrap(~Var,scales="free") +
labs(x="")+
geom_text(data=data.frame(x=2.4, y=c(0.3,0.8), label=c("0.078.","0.049*"),
Var=c("Var1","Var2")),
aes(x,y,label=label), inherit.aes=FALSE)+
theme_bw()
#You can change themes
#y=0.8 and 0.3 to maintain plot
问题是,您会在顶部得到p值
绘图:
我不知道如何在facet之后设置标签,因此我提供了另一个选项,它使用grid.arrange()
将多个GGPlot放在一起,并使用map2()分别设置标签
我以前尝试过geom_text
,但是,我需要scales=free
在镶嵌面上,因此我无法为文本设置固定坐标。但是谢谢你的回答!检查编辑。图像不是输出。取决于scales=“free”图像@AndersonNeisse怎么样?可以在放置坐标之前检查绘图,然后进行相应调整
library(tidyverse)
library(gridExtra)
df %>% split(.$Var) %>%
map2(c("0.078.", "0.049*"),
~ ggplot(.x, aes(x = Val)) +
geom_density() + xlab(.y) + # xlab(.y) is what you expect
xlim(1, 4) + ylim(0, 0.8) +
ggtitle(.x$Var) + theme_bw() +
theme(plot.title = element_text(hjust = 0.5))) %>%
reduce(grid.arrange, ncol = 2)