19

matplot()可以很容易地按列绘制矩阵/二维数组(也适用于数据帧):

a <- matrix (rnorm(100), c(10,10))
matplot(a, type='l')

使用 ggplot2 是否有类似的东西,或者 ggplot2 是否需要先将数据melted放入数据框中?

此外,有没有办法使用单独的向量(的length=ncol(a))任意颜色/样式矩阵列的子集?

4

3 回答 3

9

对于这个特定的示例,可能会更容易一些:

library(ggplot2)
a <- matrix (rnorm(100), c(10,10))
sa <- stack(as.data.frame(a))
sa$x <- rep(seq_len(nrow(a)), ncol(a))
qplot(x, values, data = sa, group = ind, colour = ind, geom = "line")
于 2013-01-18T21:43:02.343 回答
5

过去提出的问题的答案一般都在指定组参数之前建议了熔解策略:

require(reshape2); require(ggplot2)
dataL = melt(a, id="x")
 qplot(a, x=Var1, y=value, data=dataL, group=Var2)

p  <- ggplot(dataL, aes_string(x="Var1", y="value", colour="Var2", group="Var2"))
p <- p + geom_line()
于 2012-08-21T04:51:04.107 回答
2

只是稍微简化了之前所说的(矩阵被包裹在 c() 中以使其成为向量):

    require(ggplot2)
    a <- matrix(rnorm(200), 20, 10)
    qplot(c(row(a)), c(a), group = c(col(a)), colour = c(col(a)), geom = "line")
于 2016-08-03T13:46:41.637 回答