2011-07-04 43 views
-1

我需要在R中的单个图中绘制多条曲线,例如(a,b)和(a,c)在同一图中,其中a,b和c是数据矢量。有人知道怎么做吗?谢谢。在R中绘制多重曲线

回答

3

可以使用plotlines命令做到这一点:

x <- 1:10 
y1 <- 1:10 
y2 <- 0.5 * y1 

#Set up the plot 
plot(range(x),range(c(y1,y2)),type="n") 
#Create the lines 
lines(x,y1) 
lines(x,y2) 
2

@ joran的建议是一个很好的一个。另一种选择是cbinding的y - 值(上@ joran的例子工作)后使用matplot

matplot(x, cbind(y1, y2)) 

这有没有找到范围和自己相似的额外优势。

检查?matplot有很多选择。

2

如果b和c是矩阵的列,matplot(和matlines用于添加进一步线)都可以使用,也:

a <- 1 : 10 
bc <- matrix (c (a, a/2), ncol = 2) 

matplot (a, bc, type = "l") 
2

GGPLOT2容易地以data.frame美学通过映射列支持这一点。我发现使用重塑(2)中的melt最容易为这些任务生成适当格式的数据。 ggplot处理设置颜色,定义一个适当的图例,以及许多使绘图有时令人讨厌的其他细节。例如:

library(ggplot2) 
dat <- melt(data.frame(x = x, y1 = y1, y2 = y2), id.vars = "x") 
ggplot(dat, aes(x, value, colour = variable)) + geom_line()