Радиальная дендрограмма - листья должны заканчиваться на одном уровне - PullRequest
0 голосов
/ 20 января 2019

Я создал радиальную дендрограмму, но она выглядит довольно грязно, потому что некоторые из моих ветвей заканчиваются на уровне 4, другие на 5 или 6. Чтобы решить эту проблему, я создал пустые узлы, но это уродливая техника, потому что они ' отвлекают и ничего не значат. Мой набор данных выглядит так:

Level1;Level2;Level3;Level4;Level5;Level6
Indo-European;Albanian;Gheg; ; ;Gheg Albanian
Indo-European;Albanian;Tosk; ; ;Arbereshe Albanian
Indo-European;Albanian;Tosk; ; ;Arvanitika Albanian
Indo-European;Albanian;Tosk; ; ;Tosk Albanian
Indo-European;Armenian; ; ; ;Armenian
Indo-European;Armenian; ; ; ;Western Armenian
Indo-European;Balto-Slavic;Slavic;South;Eastern;Bulgarian
Indo-European;Balto-Slavic;Slavic;South;Eastern;Macedonian
Indo-European;Balto-Slavic;Slavic;South;Eastern;Church Slavonic

А вот код, который я использовал:

courses <- read.csv("courses.csv", sep=";",header=TRUE, stringsAsFactors = FALSE)
head(courses)
str(courses)
library(data.tree)
courses$pathString <- paste("courses",courses$Level1,courses$Level2,courses$Level3,courses$Level4,courses$Level5,courses$Level6, sep= "|")
head(courses)
coursesTree <- as.Node(courses, pathDelimiter = "|")
coursesTree
coursesTreeList <- ToListExplicit(coursesTree, unname =TRUE)
library(networkD3)
radialNetwork(List=coursesTreeList, 
                fontSize = 13,
                fontFamily = "OpenSans-Light",
                nodeStroke = "orange",
                opacity = 0.9)

Есть ли способ заставить их всех заканчиваться на уровне 6, не создавая пустых узлов? Или я могу, по крайней мере, сказать что-то одно только в строках IF Node = "" THEN, чтобы сделать его действительно маленьким AND nodeStroke = "grey" END, чтобы скрыть их?

...