1

这个新手问题与 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';                  
        }
    },

但是,在单击其中一个节点之前,它不会呈现新颜色

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

更新:

代码必须放在页面末尾。

4

0 回答 0