如何在图的末尾添加一个点而不在 R

时间:2021-01-25 13:50:22

标签: r plot

我有向量 x,我构建图表

x = rnorm(n = 100, mean = 0.5, sd = 1)
plot(x, type = 'l')

此外,我得到了新的观点,例如:

y = 2

如何在图表末尾添加这一点,但不重建?

错误的方式:

x = c(x,y)
plot(x, type = 'l')

1 个答案:

答案 0 :(得分:0)

要添加额外的一点,您可以使用:

y = 2
lines(c(100,101), c(x[100], y))

Graph with one additional point

但是,如果您要添加多个点,您将需要在图表右侧留出一些额外空间来放置新点,因此您可以使用类似的内容制作初始图表

plot(x, type = 'l', xlim=c(1,110))

这为 10 个加分留出了空间。

更详细的说明
在您的原始图中,横轴是索引 - 在您的示例中,数字 1 到 100。纵轴是您的值 x。要将额外的点 y=2 添加到图形中,您将添加第 101 个点,因此您需要将点 (100, x[100]) 连接到 (101, y)。函数 lines 将线段添加到现有图形中,因此我们使用

lines(c(100,101), c(x[100], y))

添加所需的段。

当您制作原始图时,R 在图形周围包含了一点额外的空间,因此有空间容纳一个额外的点。但是 R 只留下了一点额外的东西。如果您尝试添加非常多的额外点,您将超出图表范围并且将无法看到添加的点。因此,如果您知道要添加额外的点,请在原始图表中留出额外的空间。例如,如果您要添加 10 个额外的点,例如 y = seq(2, 2.9, 0.1),水平轴需要增加到 110,因此将 xlim=c(1,110) 添加到原始图中。