nau*_*101 17 plot r matrix ggplot2
matplot()
可以很容易地按列绘制矩阵/二维数组(也适用于数据框):
a <- matrix (rnorm(100), c(10,10))
matplot(a, type='l')
Run Code Online (Sandbox Code Playgroud)
有没有类似的使用ggplot2,或者ggplot2是否要求数据首先melted
进入数据帧?
另外,有没有办法使用单独的矢量(of length=ncol(a)
)任意地对矩阵列的子集进行着色/样式化?
对于这个具体的例子,可能更容易一些:
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")
Run Code Online (Sandbox Code Playgroud)
在指定组参数之前,过去提出的问题的答案通常建议熔化策略:
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()
Run Code Online (Sandbox Code Playgroud)