Javascript JIT添加子图单个边颜色
我有一个径向图,显示了两个层次的节点。单击节点时,可以通过调用sum()函数添加子图。除了为新添加的边设置单独的颜色外,其他一切都可以正常工作。 有没有人尝试过加载带有单独边缘颜色的子图,或者有人暗示我做错了什么 在这里,我得到并添加了子图:Javascript JIT添加子图单个边颜色,javascript,json,infovis,Javascript,Json,Infovis,我有一个径向图,显示了两个层次的节点。单击节点时,可以通过调用sum()函数添加子图。除了为新添加的边设置单独的颜色外,其他一切都可以正常工作。 有没有人尝试过加载带有单独边缘颜色的子图,或者有人暗示我做错了什么 在这里,我得到并添加了子图: subtree = getSubtree(node.id); //perform animation. subtree.success(function(data){ rg.op.sum(data, { type: '
subtree = getSubtree(node.id);
//perform animation.
subtree.success(function(data){
rg.op.sum(data, {
type: 'fade:seq',
fps: 40,
duration: 1000,
hideLabels: false,
});
});
我也检查了加载的数据,但对我来说,它似乎是完全平等的。我还将相同的数据加载到初始图中,而不是子图中,然后它的颜色正确。然而,这里有一些测试数据是函数getSubtree的结果(id“占位符”与应该添加子图的现有位置的id匹配):
我终于发现了框架本身的问题 在实际添加子树的sum()调用中调用construct函数时,不使用包含邻接单独可视化信息的数据对象添加新邻接。因此,我手动更改了代码(此for循环是construct()函数中现有for循环的新版本):
for(var i=0,ch=json.children;i
{
"id": "placeholder1",
"name": "country",
"children": [{
"id": "2_3mSV~_scat_1",
"name": "hyponym",
"children": [{
"children": [],
"adjacencies": {
"nodeTo": "2_3mSV~_scat_1",
"data": {
"$color": "#29A22D"
}
},
"data": {
"$color": "#29A22D"
},
"id": "3_58z3q_sc_174_6",
"name": "location"
}],
"data": {
"$type": "star",
"$color": "#666666"
},
"adjacencies": [{
"nodeTo": "3_58z3q_sc_174_6",
"data": {
"$color": "#29A22D"
}
}]
}]
}
for(var i=0, ch = json.children; i<ch.length; i++) {
//CUSTOM CODE: GET DATA OF THIS ADJACENCE
data = null;
if(ch[i].adjacencies[0]==undefined){
data = ch[i].adjacencies.data;
}
else{
data = ch[i].adjacencies.data;
}
ans.addAdjacence(json, ch[i], data);
arguments.callee(ans, ch[i]);
//CUSTOM CODE END
}