gpt4 book ai didi

r - 向每个方面添加不同的 geom_segment

转载 作者:行者123 更新时间:2023-12-05 05:01:27 28 4
gpt4 key购买 nike

我有下面的代码,它工作正常。问题是,我想添加“k”并绘制一条类似于“z”的直线,但“k”是不同数字的向量。 “k”中的每个元素都应绘制为创建的 3 个面上的一条线。如果 k 是一个奇异值,我会用不同的 y 限制重复 geom_segment() 命令。是否有捷径可寻?假设我可以画直线,最终输出应该看起来像附件。

x <- iris[-1:-3]
bw <- 1
nbin <- 100
y <- head(iris, 50)[2]
z <- 1
k <- c(2, 3, 4)

ggplot(x, aes(x = Petal.Width)) +
geom_density(aes(y = bw *..count.., fill = Species), size = 1, alpha = 0.4) +
geom_segment(aes(x = 5, y = 250, xend = z, yend = 250, color = "red")) +
facet_wrap(~Species)+
scale_x_continuous(labels = scales::math_format(10^.x), limits = c(0, 5), expand = c(0,0)) +
scale_y_continuous(expand = c(0,0), limits = c(0, NA)) +
annotation_logticks(sides = "b", short=unit(-1,"mm"), mid=unit(-2,"mm"), long=unit(-3,"mm")) +
coord_cartesian(clip='off') + theme(panel.background = element_blank(),
panel.border = element_rect(colour = "black", fill=NA))

enter image description here

最佳答案

你可以试试这个。假设您的绘图保存为 p1。

k_data = data.frame(k, Species = levels(x$Species))
p1 + geom_segment(data = k_data, aes(x =5, y = 200, xend = k, yend = 200),
color = "blue", inherit.aes = F)

enter image description here

想法是创建一个包含列 k 和 Species 的数据框,并通过设置 inherit.aes = F 在 geom 中独占使用此数据

关于r - 向每个方面添加不同的 geom_segment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62695596/

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