Функция не печатает сюжет в R - PullRequest
0 голосов
/ 27 марта 2020

У меня есть функция под названием «ветвь», которая выводит график с линией от точки а к точке б. Эта функция - просто перестановка функции lines () в R, и она отлично работает.

Теперь я пытаюсь l oop этой функции, чтобы она вывела aws строку с ее источником в точка, в которой заканчивается первая строка, другими словами, точка «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, так что это не проблема масштабирования.

Почему не выполняется черчение?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...