2017-03-15 8 views
0

で選択したラベル、次の画像を表示私のサンキー図の1を示していますのみサンキーnetworkd3図

Sankey Diagram with a lot of labels

あなたが見ることができるように、私が示されたラベルの多くを持っています。ラベルを完全に無効にすることができますが、私は表示したいラベルだけを選択できるかどうかを知りたいと思っています(ノードのIDやパストラバーサルの値などに基づいています)。誰もまだその周りに遊んで私にヒントを与えることができますか?

答えて

0

ノードラベルは、関数に渡したNodesデータフレーム内のNodeIDから来ます。これらのID /ラベルのいずれかは、空の文字列""にすることができます。これにより、関連ノードのラベルが表示されなくなります。

ヘルプファイルの例を使用して、これは各ノードにラベルを印刷します...

URL <- paste0('https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json') 
energy <- jsonlite::fromJSON(URL) 

sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source', 
       Target = 'target', Value = 'value', NodeID = 'name', 
       units = 'TWh', fontSize = 12, nodeWidth = 30) 

これは左上3「石油」のノードのラベルを印刷しないのに対し...

URL <- paste0('https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json') 
energy <- jsonlite::fromJSON(URL) 

energy$nodes[37:39, ] <- ' ' 

sankeyNetwork(Links = energy$links, Nodes = energy$nodes, Source = 'source', 
       Target = 'target', Value = 'value', NodeID = 'name', 
       units = 'TWh', fontSize = 12, nodeWidth = 30) 

ラベル/ NodeID sがLinksデータフレームにSourceTarget IDと一致していないときしかし注意してください...それはそうであるとき(上記の例のように)sankeyNetwork()機能がに依存していますそれらを関連付けるデータフレーム内のIDの順序。

+0

これは実際には素晴らしい回避策です!確かに多くのありがとう。私はSankeyダイアグラムを、より大きな光沢のあるアプリケーションの一部として使用します。このアプリケーションでは、特定のパスを動的にフィルタリングします。ラベルは動的に「更新」されます) – Oliver

関連する問題