//Settings for sigma instance (WebGL on latest Chrome)
var settings={
defaultNodeColor: "#5FBA7D",
nodeHoverColor: "default",
defaultNodeHoverColor: "#F69C55"
}
正常的节点颜色在我的图表中显示正常,但是当鼠标悬停在节点上时,颜色不会改变。有什么建议吗?
答案 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();
});