簡體   English   中英

手動將節點添加到JavaScript InfoVis Toolkit Force Directed Graph

[英]Manually Add Nodes to JavaScript InfoVis Toolkit Force Directed Graph

我正在嘗試使用此處的JavaScript InfoVis Toolkit: JS InfoVis ToolKit來創建一個Force Directed Graph。 我們真的不想使用JSON將數據“提供”到圖形中 - 而是我們寧願手動添加節點。

我把以下代碼放在一起 - 但是當我嘗試繪制圖形時,我的根節點在jit.js的第7118行中找不到( var root = aGraph.getNode(id); )。 我已經省略了我的ForceDirected選項的細節 - 但這些不應該影響結果。

        fd = new $jit.ForceDirected({...}) 
        //Create main node
        var rootNode = { id: "root", name: "Actors", data: { "$color": "#557EAA"} }
        fd.root = rootNode;
        fd.graph.addNode(rootNode);

        $.each(array, function (index, art) {
            var pubId = art.pubMedId.toString();
            var labelText = "Article " + pubId;
            var node = { id: pubId.toString(), name: labelText, data: { "$color": "#557EAA"} }

            //Create Nodes -- connect them to main node for now
            fd.graph.addNode(node);
            fd.graph.addAdjacence(rootNode, node, {});

            text = text + art.pubMedId + ',';
        });

        //Display graph
        fd.plot();

有沒有人有這方面的經驗? 尋找指導。 我在FireBug中進行了調試,所有內容似乎都正確加載到圖中(即 - 所有節點都存在)。 我很茫然。

而不是fd.root = rootNode; ,你想使用fd.root = rootNode.id; 我也對此感到驚訝。

此外,您可能希望在添加根節點之前初始化圖形:

fd.graph = new $jit.Graph(fd.graphOptions, fd.config.Node, fd.config.Edge, fd.config.Label);

注意:使用2.0.1版測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM