Search code examples
rcollapsibletree-r

collapsibleTree node colour


I am new to R and having problem recreating collapsibleTree org chart example in https://github.com/AdeelK93/collapsibleTree

Despite not changing anything, node colour remains white.

I tried it in Rstudio cloud and result is same.

org <- data.frame(
  Manager = c(
    NA, "Ana", "Ana", "Bill", "Bill", "Bill", "Claudette", "Claudette", "Danny",
    "Fred", "Fred", "Grace", "Larry", "Larry", "Nicholas", "Nicholas"
  ),
  Employee = c(
    "Ana", "Bill", "Larry", "Claudette", "Danny", "Erika", "Fred", "Grace",
    "Henri", "Ida", "Joaquin", "Kate", "Mindy", "Nicholas", "Odette", "Peter"
  ),
  Title = c(
    "President", "VP Operations", "VP Finance", "Director", "Director", "Scientist",
    "Manager", "Manager", "Jr Scientist", "Operator", "Operator", "Associate",
     "Analyst", "Director", "Accountant", "Accountant"
  )
)


org$Color <- org$Title


levels(org$Color) <- colorspace::rainbow_hcl(11)

org$tooltip <- paste0(
  org$Employee,
  "<br>Title: ",
  org$Title,
  "<br><img src='https://source.unsplash.com/collection/385548/150x100'>"
)

collapsibleTreeNetwork(
  org,
  attribute = "Title",
  fill = "Color",
  nodeSize = "leafCount",
  tooltipHtml = "tooltip"
)

Solution

  • You should factor your colors like this:

    org <- data.frame(
      Manager = c(
        NA, "Ana", "Ana", "Bill", "Bill", "Bill", "Claudette", "Claudette", "Danny",
        "Fred", "Fred", "Grace", "Larry", "Larry", "Nicholas", "Nicholas"
      ),
      Employee = c(
        "Ana", "Bill", "Larry", "Claudette", "Danny", "Erika", "Fred", "Grace",
        "Henri", "Ida", "Joaquin", "Kate", "Mindy", "Nicholas", "Odette", "Peter"
      ),
      Title = c(
        "President", "VP Operations", "VP Finance", "Director", "Director", "Scientist",
        "Manager", "Manager", "Jr Scientist", "Operator", "Operator", "Associate",
        "Analyst", "Director", "Accountant", "Accountant"
      )
    )
    
    org$Color <- factor(org$Title)
    levels(org$Color) <- colorspace::rainbow_hcl(11)
    
    org$tooltip <- paste0(
      org$Employee,
      "<br>Title: ",
      org$Title,
      "<br><img src='https://source.unsplash.com/collection/385548/150x100'>"
    )
    
    collapsibleTreeNetwork(
      org,
      attribute = "Title",
      fill = "Color",
      nodeSize = "leafCount",
      tooltipHtml = "tooltip",
      collapsed = FALSE
    )
    

    Output:

    enter image description here