这个新手问题与 InfoVis 可视化项目有关。
虽然可以在 JSON 数据中定义节点的颜色和其他属性:
id: "",
name: "",
data: { color:""},
我想根据另一个元素设置节点的颜色,例如“风险”的值:
id: "",
name: "",
data: { risk:"1"},
例如
if(node.data.risk == "1") {
node.setData('color', '#ffcccc');
加载 JSON 时根据数据内容更改节点颜色的最佳方法是什么。
更新:
到目前为止,此解决方案有效:
onBeforePlotNode: function(node)
{
if(node.data.risk == '2')
{
node.data.$color = '#ff5050';
}
if(node.data.risk == '1')
{
node.data.$color = '#ffcccc';
}
if(node.data.risk == '0')
{
node.data.$color = '#1aff1a';
}
},
但是,在单击其中一个节点之前,它不会呈现新颜色。
后续问题:如果这是一个合理的解决方案,如何在首次加载可视化时呈现新颜色?
更新:
代码必须放在页面末尾。