0

当我尝试使用下面的函数时,我注意到我的第一行缺少图中的水平线。我已经追踪到指定我的矩形尺寸的行,特别是它应该有多高和多低。有没有我可以设置的参数,以便始终出现顶行?下面的代码没有顶行..

Plot.Lines <- function(colCount, rowCount, cex){
  colCount <- colCount # number per row
  rowCount <- rowCount

  plot( c(1,colCount), c(0,rowCount), type="n", ylab="", xlab="",
       axes=FALSE, ylim=c(rowCount,0))
  title("My Lines")

  for (j in 0:(rowCount-1))
  {
    base <- j*colCount
    remaining <- length(colors()) - base
    RowSize <- ifelse(remaining < colCount, remaining, colCount)
    for(i in 1:RowSize){
      rect(i-0.5,j-0.5,i+0.5, j+0.5, border = "black", col = colors()[base + (1:RowSize)]) 
    }
    for(i in 1:RowSize){
      text(x = i, y =j, labels = paste(base + i), cex =cex, col = "black")
    }
  }
}

Plot.Lines(25, 6, cex = 0.5)

但是,如果我将行更改为:

rect(i-0.5,j-0.2,i+0.5, j+0.2, border = "black", col = colors()[base + (1:RowSize)]) 

然后它可以工作,尽管行之间有空格。有没有办法在给定 colCount 和 rowCount 的情况下自动设置它?

4

1 回答 1

3

顶部边缘被切断,因为它超出了绘图区域。您可以使用par(xpd=TRUE)允许在内部区域之外进行绘图。把这个放在你打电话给plot.

于 2012-10-12T16:41:50.010 回答