函数未在R中打印图

 收藏

我有一个称为“分支”的函数,该函数输出从点a到点b的直线图。该函数只是R中lines()函数的重新设计,并且效果很好。

现在,我正在尝试循环该函数,以便它在第一条线的结束点绘制一条直线,即原点的“ b”变成下一条线的“ a”,新行的长度是其父行长度的一半。

drawLine <- function(start.x, start.y, end.x, end.y, color='white') {
  start  <-   c(start.x,end.x)
  end    <-   c(start.y,end.y)
  line   <-lines (start, end, col=color)

  return(line)
}

branch <- function(origin,length, color='white'){
  branch <- drawLine(origin,100,origin+length,100, col = color)
    return(branch)
}

par(bg = "black", mar = c(0,0,0,0))
plot.new(); plot.window(xlim=c(0,400),ylim=c(0,400))
branch(100,100, 'white') #notar, color default es blanco
branch(200,100, 'red')

您可以在此处检查它是否有效。

tree <- function(origin, length, numberOfBranches, color = 'white'){
  numberOfBranches <- vector()
  branches <- list()
    for(i in numberOfBranches){
        branches[[i]] <- branch(origin,length, col = color)
        origin = origin+length
        length = length/2
    }
  return(branches)
}

由于某些原因,控制台仅打印空列表“ list()”

值得一提的是,y轴的高度固定为200,因此这不是缩放问题。

为什么不绘图?

提前致谢。

回复