sigma.js无法读取节点外观设置

时间:2016-05-17 00:17:01

标签: sigma.js

//Settings for sigma instance (WebGL on latest Chrome)
var settings={
    defaultNodeColor: "#5FBA7D",
    nodeHoverColor: "default",
    defaultNodeHoverColor: "#F69C55" 
}

正常的节点颜色在我的图表中显示正常,但是当鼠标悬停在节点上时,颜色不会改变。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我必须迭代所有节点并手动设置它。首先,您必须保存原始节点颜色:

var s = new sigma({ 
  graph: graphData, //json data
  renderer: {
    container: 'graph-container',
    type: 'canvas'
  }
});

//save initial node colors
s.graph.nodes().forEach(function(n) { 
  n.originalColor = n.color;
});
s.refresh();

//set hover node color
s.bind('overNode', function(e) {
  s.graph.nodes().forEach(function(n) { 
    if (n.id == e.data.node.id){ 
      n.color = settings('defaultNodeHoverColor'),
    }
  }); 
  s.refresh();
});

//set default node color
s.bind('outNode', function(e) {
  s.graph.nodes().forEach(function(n) { 
    if (n.id == e.data.node.id){ 
      n.color = n.originalColor;
    }
  });
  s.refresh();
});