我正在绘制多个数据系列。
colos=c('red','green','purple','pink','brown')
par(new=F)
for (i in 1:5)
{
plot(dat[[i+1]],col=colos[i],cex=marksize,xlab='Reading #',ylab = 'Current')
par(new=T)
}
我的情节如下:
有没有办法可以在每次迭代时覆盖绘图轴,但不能覆盖绘制的点?
答案 0 :(得分:2)
您可能希望使用lines
或points
功能代替。这是我通常如何解决这个问题的一个例子。这样,您只能在现有绘图的顶部覆盖点,而不是将一个绘图绘制在另一个绘图之上。
使用原始plot
来电绘制第一个,然后使用lapply
覆盖其他列的点。
set.seed(1)
dat <- data.frame(replicate(5, sample(10)))
colos <- c('red','green','purple','pink','brown')
plot(dat[[1]], col = colos[1], xlab = 'Reading #',
ylab = 'Current', ylim = range(as.matrix(dat)))
invisible(lapply(2:ncol(dat), function(i) points(dat[[i]], col = colos[i])))
答案 1 :(得分:1)
使用xaxt
和yaxt
E.g:
plot(1:10)
par(new=TRUE)
plot(1:10, rnorm(10), xaxt="n", yaxt="n", xlab="", ylab="", type="l")
axis(side=4)