Javascript jInfoVis可视化:在json数据上设置节点颜色

Javascript jInfoVis可视化:在json数据上设置节点颜色,javascript,infovis,Javascript,Infovis,这个新手问题与InfoVis可视化项目有关 虽然可以在JSON数据中定义节点的颜色和其他属性: id: "", name: "", data: { color:""}, 我想基于另一个元素设置节点的颜色,例如“风险”的值: e、 g 加载JSON时,根据数据内容更改节点颜色的最佳方法是什么 更新: 到目前为止,此解决方案是否有效: onBeforePlotNode: function(node) { if(node.data.risk == '2')

这个新手问题与InfoVis可视化项目有关

虽然可以在JSON数据中定义节点的颜色和其他属性:

id: "",  
name: "",  
data: { color:""},  
我想基于另一个元素设置节点的颜色,例如“风险”的值:

e、 g

加载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';                  
        }
    },
但是,在单击其中一个节点之前,不会渲染新颜色

后续问题:如果这是一个合理的解决方案,那么当可视化首次加载时,如何呈现新的颜色

更新:

代码必须放在页面的末尾

if(node.data.risk == "1") {
                  node.setData('color', '#ffcccc');
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';                  
        }
    },