CSVファイルとして保存されている隣接行列があります。D3.jsを使用して、隣接行列を力指向の無向加重グラフとして視覚化したいと思います。行列の要素は、次のようにノード間の距離を表します。
AA,A1,A2,A3 A1,0,0.5,1 A2,0.5,0,2 A3,1,2,0
隣接行列を読み取り、d3を使用して無向グラフの視覚化を生成する簡単な方法はありますか、それともこのデータをより単純なもの(つまり、「ソース、ターゲット、重み」のCSVファイルまたはJSONグラフ仕様)に変換する必要がありますか?
投稿したようにデータがマトリックスに格納されていると仮定すると、次のようなノードが得られます。
var nodes = matrix[0].slice(1);
次に、次のようなリンクを作成できます。
var links = [];
nodes.forEach(function(d, i) {
matrix[i+1].slice(1).forEach(function(e, j) {
if(matrix[i+1][j+1] > 0) {
links.push({source: i, target: j});
}
});
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加