sigma.js 未读取节点外观设置
Node appearance settings not read by sigma.js
//Settings for sigma instance (WebGL on latest Chrome)
var settings={
defaultNodeColor: "#5FBA7D",
nodeHoverColor: "default",
defaultNodeHoverColor: "#F69C55"
}
正常的节点颜色在我的图表中显示正常,但是当鼠标悬停在节点上时,颜色没有改变。有什么建议吗?
我不得不遍历所有节点并手动设置。首先你必须保存原始节点颜色:
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();
});
//Settings for sigma instance (WebGL on latest Chrome)
var settings={
defaultNodeColor: "#5FBA7D",
nodeHoverColor: "default",
defaultNodeHoverColor: "#F69C55"
}
正常的节点颜色在我的图表中显示正常,但是当鼠标悬停在节点上时,颜色没有改变。有什么建议吗?
我不得不遍历所有节点并手动设置。首先你必须保存原始节点颜色:
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();
});