将标记添加到图中给定的 x 值

Add markers to given values of x in a plot

我正在使用样条函数,我想绘制基础并添加显示节点位置的标记。我尝试使用 abline(v=knots) 添加一条垂直线,但结果并不好,如果我要处理很多结,它会让人分心。 我在下面给你留了一张图片,显示了我想做的事情。 这是我的代码,我使用包 splines.

中的 bs 函数
library(splines)
x <- seq(0, 1, length.out=1000)  
B <- bs(x, knots=seq(0, 1, length=20)[-c(1, 20)], Boundary.knots=c(0, 1), degree=2) 
matplot(x, B, type="l", lty=1, col="red")

这就是我想要得到的(看到那些显示结点位置的小 "x" 了吗?)。这只是一个例子,如果你有一些想法来显示结的位置,使结果在视觉上不会混乱,我会很高兴听到它。

非常感谢任何帮助

首先,存储 B 的属性中的节点值。然后使用低级图形函数 points() 添加标记,符号可以通过参数 pch.

调整
knot <- c(0, attr(B, "knots"), 1)
points(knot, rep(0, length(knot)), pch = "x")