はい、これを行う 1 つの方法は、 を使用することggplotです。
ggplotデータがdata.frameフォーマットされている必要があります。これに、希望の色を示すdata.frame列を追加します。col 変数はすでに色であるため、colプロットは 、 、 で作成されggplotますgeom_line。scale_colour_identity
library(ggplot2)
df <- data.frame(
x = 1:100,
y = rnorm(100,1,100),
col = c(rep("red", 50), rep("black", 10), rep("red", 40))
)
ggplot(df, aes(x=x, y=y)) +
geom_line(aes(colour=col, group=1)) +
scale_colour_identity()

より一般的には、各線分は異なる色にすることができます。次の例では、色を x 値にマッピングして、色が青から赤に滑らかに変化するプロットを作成します。
df <- data.frame(
x = 1:100,
y = rnorm(100,1,100)
)
ggplot(df, aes(x=x, y=y)) + geom_line(aes(colour=x))

また、基本グラフィックスの使用を主張する場合はsegments、次のように使用します。
df <- data.frame(
x = 1:100,
y = rnorm(100,1,100),
col = c(rep("red", 50), rep("black", 10), rep("red", 40))
)
plot(df$x, df$y, type="n")
for(i in 1:(length(df$x)-1)){
segments(df$x[i], df$y[i], df$x[i+1], df$y[i+1], col=df$col[i])
}
