блоки текста / HTML. Этот пример потребует много дополнительного форматирования / позиционирования, чтобы быть полезным, но он демонстрирует, что это возможно ...

+++++++++++

Обновить: Я думаю, что ответ на мой вопрос заключается в том, что нельзя вставлять разрывы строк. Коллега указал мне, что метки узлов - это блоки SVG, которые не поддерживают разрывы строк.

++++++++++++++++

Как вставить разрыв строки в метки узла для диаграммы Санки, созданной с помощью пакета networkD3 R?

Заимствование примера изПоместите текстовые значения справа от диаграммы Санки Я могу добавить значения в этикетки:

library(networkD3)
library(data.table)
set.seed(1999)
links <- data.table(
  src = rep(0:4, times=c(1,1,2,3,5)),
  target = sample(1:11, 12, TRUE),
  value = sample(100, 12)
)[src < target, ]  # no loops
nodes <- data.table(name=LETTERS[1:12])

#### Need to hover to get counts
##sankeyNetwork(Links=links, Nodes=nodes, Source='src', Target='target',
##  Value='value', NodeID='name', fontSize=16)

## Add text to label
txt <- links[, .(total = sum(value)), by=c('target')]
nodes[txt$target+1L, name := paste0(name, ' (', txt$total, ')')]

## Displays the counts as part of the labels
sankeyNetwork(Links=links, Nodes=nodes, Source='src', Target='target',
  Value='value', NodeID='name', fontSize=16, width=600, height=300)

Я надеялся, что смогу наивно настроитьpaste0 включить символ перевода строки, такой как:

 name := paste0(name, "\n ", txt$total)

или же

name := paste0(name, "<br/> ", txt$total)

Но я не смог заставить что-либо работать, и мой JavaScript слишком ржавый, чтобы попытаться исправить его после его создания.

Ответы на вопрос(1)

Ваш ответ на вопрос