2016-12-02 6 views
0

私の用途の1つにcytoscape.jsを使用しています。ここでは、次のように、最初のノードのみでグラフを表示することをお勧めします。cytoscape.jsでJSONを使用してエッジを設定する方法

var cy1 = cytoscape({ 
    container: document.getElementById('cy'), 
    elements: { 
     nodes: countriesJSON 
    }, 
    style: [ 
    { 
     selector: 'node', 
     style: { 
      'background-color': '#666', 
      'label': 'data(id)' 
     } 
    }, 
    { 
     selector: 'edge', 
     style: { 
      'width': 1, 
      'line-color': '#aaa', 
     } 
    } 
    ] 
}); 

cy1.layout({ 
     name: 'circle' 
}); 

さて、関数の内部で、私はエッジが作成されると、この

function myfunc(){ 

    ... 
    ... 
    allRoutes.map(function(d){ 
      var inner={}; 
      var obj = {} 
      inner["id"]="edge"+index     
      inner["source"]=data[0] 
      inner["target"]=data[1]     
      obj["data"]=inner 
      allLegsJSON[i]=obj; 
      i++; 
      }) 
    ... 
    ... 

    cy1.elements({ edges: allLegsJSON }); 
} 

が、私は上記のようなグラフにエッジを割り当てるなどのエッジを形成することになります。ただし、このコードは機能しません。誰かがこれをする方法を教えてもらえますか?私は、エッジを割り当て、次にcy1グラフを更新したいと思います。

+0

注意をしました。 –

答えて

0

これは単なるJavaScriptオブジェクトリテラルではありません実際にJSONだこの

cy1.add({ edges: allLegsJSON }); 
+0

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。あなたのコードに説明的なコメントを詰め込まないようにしてください。これは、コードと説明の両方の可読性を低下させます! – kayess

関連する問題