在没有ggplot的情况下添加多行来绘图

时间:2017-01-24 15:27:04

标签: r plot

我想在同一个地块上绘制多条线,而不使用ggplot。

我在一段时间内为不同的人提供分数,并希望在每个人的年度分数之间绘制一条线。组织数据时,每行代表一个人,每列代表给定年份的观察值。

目前我正在使用for循环,但我知道这在R中通常效率不高,如果基础R中有更多合适的方法,我很感兴趣。

我将与10万人一起工作

感谢。

代码:

df=data.frame(runif(10,0,100),runif(10,0,100),runif(10,0,100),runif(10,0,100))
df=data.frame(t(df))

Years=seq(1,10,1)

plot(1,type="n",xlab="Year",ylab="Score", xlim=c(1,10), ylim=c(0,100))

for(x in 1:4){lines(Years,df[x,])}

1 个答案:

答案 0 :(得分:2)

在绘图时,效率并不是很重要,因为绘图到设备本身就是一个缓慢的操作。您可以使用matplot(内部使用循环)。它基本上是包含在函数中的代码的更复杂版本。

matplot(Years, t(df), xlab="Year", ylab="Score", type = "l")

resulting plot