将lines()应用于数据框/矩阵的列;每条线都有不同的颜色

时间:2012-05-19 19:27:25

标签: r matrix dataframe line apply

我正在尝试提出一个不涉及使用其他软件包(如ggplot)的解决方案。虽然绘制多行是非常简单的,但我还没有找到一种方法将不同的参数值 - 例如,不同的颜色 - 应用于不同的行。下面的代码(带有结果图)是我的尝试,显然没有按照我的意愿去做。我也不想使用循环,因为我试图让我的脚本尽可能简单。

df = cbind(sort(rnorm(10)), sort(rnorm(10,-2)), sort(rlnorm(10)))
plot(0, xlim = c(1,10), ylim=range(df), type="n")
apply(df, 2, lines, type="b", col = c("red", "blue", "black"))

Plot generated using the code above 我真正想要的是如下情节:

plot(0, xlim = c(1,10), ylim=range(df), type="n")
color = c("red","blue","black")
for(i in 1:3){
    lines(1:10, df[,i], type = "b", col=color[i])
}

The desired plot 提前谢谢!

1 个答案:

答案 0 :(得分:4)

尝试matplot()

df <- cbind(sort(rnorm(10)), sort(rnorm(10,-2)), sort(rlnorm(10)))
matplot(df, type="b", lty=1, pch=1, col=c("blue", "red", "black"))

enter image description here