我需要在R中的单个图中绘制多条曲线,例如(a,b)和(a,c)在同一图中,其中a,b和c是数据向量。有人知道怎么做吗?感谢。
成
答案 0 :(得分:3)
您可以使用plot
和lines
命令执行此操作:
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()