在R中绘制多条曲线

时间:2011-07-04 04:16:09

标签: r plot

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

4 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

@joran的建议很好。另一种选择是在绑定matplot - 值后使用y(使用@joran的例子):

matplot(x, cbind(y1, y2))

这样做的另一个好处是不必自己找到范围和类似物。

检查?matplot是否有很多选项。

答案 2 :(得分:2)

如果b和c是矩阵列,也可以使用matplot(以及用于添加更多行的matlines):

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

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

答案 3 :(得分:2)

ggplot2通过将data.frame中的列映射到美学来轻松支持此功能。我发现最简单的方法是使用reshape(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()