r - 在 R 中绘制折线图的交点

标签 r graph plot intersection

我想使用 R 绘制具有相同 x 值(例如日期)的两个数据系列。我希望这两条线位于同一张图表上,但一条比另一条大的线段应该采用另一种颜色。举个例子:

x<-c(-5:5)
y1<-x^2-x-10
y2<-(x^3)-(x^2)-(10*x)+2
plot(x,y1,col="blue", ylim=c(-100,100), type="l")
par(new=T)
plot(x,y2,col="green", ylim=c(-100,100), type="l")

其中 y2 大于 y1 的部分为红色。因此,当 -3 < x < 1 时,绿线或多或少会呈红色,然后当 x > 3 时再次呈红色(我试图发布该数字,但我的声誉不够高)。我想开发一些代码,允许我对任何数据集执行此操作,例如在矩阵中:

xy<-as.matrix(cbind(x,y1,y2))

我怀疑可以使用 forif 循环来完成,但我更喜欢更优雅的解决方案。如果我能做这样的事情:Show the intersection of two curves同样,那就太好了!

提前非常感谢您的帮助!

最佳答案

这是一个非常基本的解决方案,通过创建几个新变量来实现,并使用 NA 值来抑制在不需要的区域中进行绘图:

y2high <- y2
y2high[y2high < y1] <- NA
y2low <- y2
y2low[y2low > y1] <- NA

plot(x,y1,type='l', col='blue')
lines(x,y2high,col='red')
lines(x,y2low,col='green')

关于r - 在 R 中绘制折线图的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930733/

相关文章:

r - Shiny:基于 selectizeInput 的条件面板的问题

r - R 中类的对象的数组/列表/集合

r - 一个r项目的文件和目录结构

r - 将€符号添加到气泡图中的数据标签 - ggplot?

javascript - Flot Graph TickLabel 和 Tick 定位问题

python - 我可以从颜色列表和 for 循环中绘制颜色条吗?

python - 使用 Python Plotly 自定义 Networkx 图(或散点图)

r - 如何在 stargazer 和 broom (r) 中使用 prais.winsten 结果

java - 在 Java 中实现边加权图的最佳方式

python - Matplotlib 使用宽右边距 - Python