我想绘制不同颜色的时间序列,例如前半部分是黑色,系列的后半部分是红色。我这样做
plot(1:10,col = c(rep("black",5),rep("red",5)),type="o")
下半场如何获得红线?
答案 0 :(得分:2)
您可以像这样手动插入不同的线段:
plot(1:10, 1:10, col = c(rep("black" ,5), rep("red" ,5)))
lines(1:5, 1:5, col = "black")
lines(6:10, 6:10, col = "red")
然而,当涉及到更复杂的数据集时,这种方法相当不灵活。因此,我通常倾向于使用xyplot
(来自 lattice )和group
参数来完成此类任务。对于您的问题,这将是一个更灵活的解决方案。
dat <- data.frame(x = 1:10, y = rep(c("a", "b"), each = 5))
library(lattice)
xyplot(x ~ 1:length(x), data = dat, group = y, type = "b",
col = c("black", "red"))
答案 1 :(得分:0)