我正在比较矩阵genes
内的值,因此x轴对应于每个矩阵列,y值对应于不同的值。绘图函数有效但我收到“下标超出界限错误”。我需要为数百个矩阵创建绘图,所以我想避免对#s进行硬编码,但我想知道是否有人可以在for
循环中识别出我忽略的内容。
谢谢。
genes <- matrix(c(1,2,3, 11,12,13, 43,45,56, 54,23,65), nrow = 2, ncol = 6, byrow = TRUE, dimnames = list(c("row1", "row2"), c("C.1", "C.2", "C.3", "C.4", "C.5", "C.6")))
colors <- colors()[c(130, 8, 461, 47, 84, 53, 554, 418, 640, 275, 143, 258, 345,123, 35,86, 92,29,63,84)]
dev.off()
plot(c(1,ncol(genes)),range(genes),type='n',xlab="",ylab="",axes=F)
axis(side=1,at=c(1:ncol(genes),labels=colnames(genes),cex.axis=0.8,las=2)
axis(side=2)
for(i in 1:ncol(genes)) {
ycoord <- as.numeric(genes[i,])
lines(c(1:ncol(genes)),ycoord,col=colors[i],lwd=2)
}
legend("topright", legend=rownames(genes), fill=colors, bg="white", cex = .8, ncol=1)