我有向量 x,我构建图表
x = rnorm(n = 100, mean = 0.5, sd = 1)
plot(x, type = 'l')
此外,我得到了新的观点,例如:
y = 2
如何在图表末尾添加这一点,但不重建?
错误的方式:
x = c(x,y)
plot(x, type = 'l')
答案 0 :(得分:0)
要添加额外的一点,您可以使用:
y = 2
lines(c(100,101), c(x[100], y))
但是,如果您要添加多个点,您将需要在图表右侧留出一些额外空间来放置新点,因此您可以使用类似的内容制作初始图表
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)
添加到原始图中。