我想在同一张图上展示来自Kaggle数据集的100个随机训练样例,你可以在这里找到这个数据集:https://www.kaggle.com/c/digit-recognizer/data。
我能够一个接一个地绘制数字,但不能在同一张图上绘制:
par(mfrow=c(5,5))for(i in sample(2:length(data),100,replace=FALSE)){ dat <- matrix(as.numeric(data[i,1:784]/256),ncol=28,nrow=28,byrow=TRUE) image(dat, axes=TRUE,col=grey(seq(0,1,length=256)))}
我想做的是像这样:
我无法弄清楚如何指定每个像素的位置….
谢谢你!
回答:
一个快速的解决方案是使用par
将边距(mar
)设置为0
:
par(mfrow=c(5,5), mar=c(0,0,0,0))for(i in sample(2:length(data),100,replace=FALSE)){ dat <- matrix(as.numeric(data[i,1:784]/256),ncol=28,nrow=28,byrow=TRUE) image(dat, axes=FALSE,col=grey(seq(0,1,length=256)))}
如果你想要外部边框,可以在par
中将oma
设置为大于0的值。例如:
par(mfrow=c(5,5), mar=c(0,0,0,0), oma=c(2,2,2,2))