8

networkD3 を使用してレンダリングされたサンキー ダイアグラムにテキストを配置するコツはありますか? エンドポイントの値をボックスの右側にテキストとして表示したいと思います。ボックスにカーソルを合わせると値が表示されることはわかっていますが、ボックスが小さくなるにつれて、値が常に側面に表示されていれば、多くの場合、情報を表現するのがはるかに簡単になります.

以下に例を示します。ラベルの一部として値を追加することでハックできましたが、図の右側に値を表示する方がはるかに優れています。

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)

ここに画像の説明を入力

4

1 に答える 1