gpt4 book ai didi

r - 在 R 中的 facet_wrap 图中向所有方面添加 geom_line

转载 作者:行者123 更新时间:2023-12-04 02:07:40 25 4
gpt4 key购买 nike

我正在尝试创建一个 facet_wrap将四个单独的行与共同的第五行进行比较的图;目标是让这第五行出现在所有其他四行 facet_wrap 上地块。

这是我的最小代码:

library(ggplot2)

x = c( 1, 3, 1, 3, 2, 4, 2, 4)
y = c( 1, 3, 2, 4, 1, 3, 2, 4)
type = c("A","A","B","B","C","C","D","D")
data = data.frame(x,y,type)

x = c( 4, 1)
y = c( 1, 4)
type = c("E","E")
line = data.frame(x,y,type)

ggplot(data, aes(x,y)) + geom_line() + facet_wrap(~type) +
geom_line(data = line, aes(x,y))

我希望将第五行添加为独立的 data.frame将允许我这样做,但它只是将其添加为第五个方面,如下图所示:

Bad facet plot

我希望“E”方面出现在所有其他图中。有什么想法吗?我知道 geom_vline , geom_hline , 和 geom_abline都会出现在所有方面,但我不确定是什么让它们独一无二。

最佳答案

您已指定 type='E'在您的 line数据框。如果你想在类型 A,B,C,D 上有这条线,然后创建一个 data.frame使用您希望线条显示的类型

xl    = c( 4,  1)
yl = c( 1, 4)
type =rep(LETTERS[1:4], each=2)
line2 = data.frame(x=xl,y=yl,type)

ggplot(data, aes(x,y)) + geom_line() + facet_wrap(~type) +
geom_line(data = line2)

您也可以使用 annotate ,这意味着您不指定 data.frame,而是直接传递 x 和 y 值
ggplot(data, aes(x,y)) + geom_line() + facet_wrap(~type) +
annotate(geom='line', x=xl,y=yl)

两者都创建

enter image description here

关于r - 在 R 中的 facet_wrap 图中向所有方面添加 geom_line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388435/

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