在这种情况下,我使用的是JIT Hypertree。我将区分一个节点的颜色和另一个节点的颜色,以便树上的每个节点都有自己的颜色。无论如何可以更改单个颜色以使其与其他节点不同吗?
我只是设法更改了所有节点的颜色,但不是单个节点。
Node: {
dim: 9,
color: "#009933"
},
您必须在 Node 上将可覆盖属性设置为 true。
Node: {
dim: 9,
overridable: true
},
然后,在加载数据之后和绘制之前,循环访问节点并使用 setData 设置各个颜色。下面是一个使用随机颜色的示例,但您也可以将颜色插入 JSON 数据并从那里提取它:
ht.graph.eachNode(function(node) {
node.setData('color', "hsl("+Math.random()*360+",100%,50%)");
});
现在,无耻的插件:我写了一个库来生成基于ID的颜色。因此,如果您不想精心挑选颜色,并且希望颜色与数据具有持久的关系,这将有所帮助。下面是使用它的示例。
ht.graph.eachNode(function(node) {
node.setData('color', $.fn.autumn.getColor(node.id));
});