gpt4 book ai didi

r - 如何在R中的绘图上准确添加相交线?

转载 作者:行者123 更新时间:2023-12-03 08:09:37 26 4
gpt4 key购买 nike

我正在尝试向 ggplot 添加直角交叉线。

例如,在下面的代码\图中,我在某个给定的阈值 x 值处绘制了一条虚线。理想情况下,我希望这条线与曲线相交并到达 y 轴上的相应点。如您所见,目前我只是将其扩展到 y=1

我想知道如果只给出任何类型曲线的 x 值,是否有办法找到相应的 y 值?

library(ggplot2)

# create data
df <- data.frame(
x = seq(0,1, by = 0.1),
y = pexp(seq(0, 1, by = 0.1), rate = 4)
)

# set treshold
threshold <- 0.5

# plot
ggplot(df, aes(x, y)) +
geom_line() +
geom_segment(aes(x = threshold, xend = threshold, y = -Inf, yend = 1), linetype = 2)+
geom_segment(aes(x = -Inf, xend = threshold, y = 1, yend = 1), linetype = 2) +
theme_bw()

plot with intersection line

最佳答案

你是这个意思吗?

df2 <- with(approx(df$x, df$y, xout = threshold),
data.frame(x1 = c(-Inf, x, x), y1 = c(y, y, -Inf)))
ggplot(df, aes(x, y)) +
geom_line() +
geom_line(aes(x = x1, y = y1), linetype = 2, data = df2) +
theme_bw()

exponential curve with intersecting lines

关于r - 如何在R中的绘图上准确添加相交线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71215276/

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