2016-10-11 2 views
0

발견 한 코드는 모집단 노드 노드 다이어그램을 만듭니다. 내가하고 싶은 것은 자기 자신을 가리키는 노드 즉, 최종 노드에 자체 화살표를 추가하는 것입니다. 당신이 도울 수 있기를 바랍니다.R 노드 다이어그램에서 자기 화살표를 어떻게 코딩 할 수 있습니까?

library(diagram) 

Numgenerations <- 6 
DiffMat <- matrix(data = 0, nrow = Numgenerations, ncol = Numgenerations) 
AA <- as.data.frame(DiffMat) 
AA[[1,5]] <- "f[4]" 
AA[[1,6]] <- "f[5]" 
# 
AA[[2,1]] <- "s[list(0,1)]" 
AA[[3,2]] <- "s[list(1,2)]" 
AA[[4,3]] <- "s[list(2,3)]" 
AA[[5,4]] <- "s[list(3,4)]" 
AA[[6,5]] <- "s[list(4,5)]" 

# 
name <- c(expression(Age[0]), expression(Age[1]), expression(Age[2]), 
     expression(Age[3]), expression(Age[4]), expression(Age[5])) 
# 
plotmat(A = AA, pos = 6, curve = 0.7, name = name, lwd = 2, 
    arr.len = 0.6, arr.width = 0.25, my = -0.2, 
    box.size = 0.05, arr.type = "triangle", dtext = 0.95, 
    main = "Age-structured population model") 
당신은 화살표 이런 식으로 추가 할 수 있습니다

답변

1

: 당신이 자기 화살표로 표시하려는 경우,

AA[[6,6]] <- "s[list(5,5)]" 

을 또는

AA[[6,6]] <- "self" 

내가보다 relsize에 약간 적은을 설정하는 데 필요한 1로 설정하면 자체 화살표가 오른쪽 가장자리에서 잘리는 것을 방지 할 수 있습니다.

plotmat(A = AA, pos = 6, curve = 0.7, name = name, lwd = 2, 
     arr.len = 0.6, arr.width = 0.25, my = -0.2, 
     box.size = 0.05, arr.type = "triangle", dtext = 0.95, 
     main = "Age-structured population model", 
     relsize=0.97) 

enter image description here

관련 문제