gpt4 book ai didi

r - 为 facet_grid 中的级别添加唯一的水平线

转载 作者:行者123 更新时间:2023-12-05 02:29:19 24 4
gpt4 key购买 nike

我想在一组分面网格箱线图的每一行中添加一条唯一的水平线。

x<-c("species_X","species_X","species_X", "species_Y","species_Y",
"species_Y", "species_Z", "species_Z", "species_Z")
y<- c(1,2,3)


df<- data.frame(species= rep(x, 3),
effort= rep(y, 9),
value = rnorm(27, 3, 2))

ggplot(df, aes(x=value))+
geom_boxplot()+
facet_grid(species ~ effort, scales = "free_y")+
coord_flip()+
ylab("")

我想为每一行添加以下值的行:

add_lines<- c(4, 3, 4.7)

所以 4 对应于 species_X,3 对应于 species_Y,4.7 对应于 species_Z。我已经能够向所有箱线图添加线,但只能以所有线具有相同值的方式添加,或者所有三条线都显示在每个箱线图上,如下所示:

ggplot(df, aes(x=value))+
geom_boxplot()+
facet_grid(species ~ effort, scales = "free_y")+
coord_flip()+
ylab("")+
geom_vline(xintercept = add_lines)

如有任何帮助,我们将不胜感激。

最佳答案

只需在 x 截距中包含分面变量。作为一个小数据框最容易做到这一点

add_lines <- data.frame(y = rep(c(4, 3, 4.7), each = 3),
species = x,
effort = rep(y, 3))

ggplot(df, aes(value)) +
geom_boxplot() +
facet_grid(species ~ effort, scales = "free_y") +
coord_flip() +
ylab("") +
geom_vline(aes(xintercept = y), data = add_lines, color = "red")

enter image description here

关于r - 为 facet_grid 中的级别添加唯一的水平线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72222854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com