使用R在一个图像中绘制几个线图

时间:2013-01-22 01:08:58

标签: r loops graph

我是R的绝对初学者。所以这可能是一个愚蠢的问题。 我有一个这样的表(csv格式):

,1A+,2A+,3A-,3A+,5A-,5A+,6A-,6A+,7A-,7A+
6,4.530309305,5.520356001,3.437626731,5.146758132,,4.355022819,,4.191337618,,4.076583859
10,8.697814022,9.765817956,,9.636004092,3.725756716,8.600484774,3.457423715,8.358842335,2.246622784,7.244668991
12,,,8.176341701,,,,,,,
17,,,,,6.24785396,,5.077069513,,3.137524578

我想在R中创建一个折线图,绘制所有不同的Y值(1A +,2A +等)与Y值(6,10,12,17)。

我在做:

new_curves   <- read.csv("new_curves_R.csv", as.is = TRUE)
g_range <- range(0,new_curves$X)
axis(2, las=1, at=4*0:g_range[2])
plot(new_curves$X1A.,new_curves$X,type="o", col="blue")
legend(1, g_range[2], c("new_curves$X1A."), cex=0.8, col=c("blue"));
title(xlab="Days", col.lab=rgb(0,0.5,0))
title(ylab="Total", col.lab=rgb(0,0.5,0))

然而,这(显然)只绘制了第一个数据点。 (传说也不是出于某种原因)。我猜我需要某种for循环来递归地将每个Y值添加到图形中。同样,需要一个循环来制作图例。

感谢

1 个答案:

答案 0 :(得分:1)

dat <- read.table(text=", 1A+,2A+,3A-,3A+,5A-,5A+,6A-,6A+,7A-,7A+
6,4.530309305,5.520356001,3.437626731,5.146758132,,4.355022819,,4.191337618,,4.076583859
10,8.697814022,9.765817956,,9.636004092,3.725756716,8.600484774,3.457423715,8.358842335,2.246622784,7.244668991
12,,,8.176341701,,,,,,,
17,,,,,6.24785396,,5.077069513,,3.137524578", header=TRUE, sep=",", fill=TRUE)

matplot(dat[1], dat[-1])