Javascript Infovis 更改单个节点颜色

标签 javascript colors tree infovis

在本例中,我使用的是 JIT Hypertree。我要将一个节点的颜色与其他节点的颜色区分开来,以便树上的每个节点都有自己的颜色。有没有办法改变单个颜色,使其与其他节点不同?

我只是设法改变了所有节点的颜色,但不是个别的。

 Node: {
   dim: 9,
   color: "#009933" 
 },

最佳答案

您必须在 Node 上将 overridable 属性设置为 true。

Node: {
    dim: 9,
    overridable: true 
},

然后,在加载数据之后和绘制之前,遍历节点并使用 setData 设置各个颜色。这是 an example使用随机颜色,但您也可以将颜色插入 JSON 数据并从那里提取:

ht.graph.eachNode(function(node) {  
    node.setData('color', "hsl("+Math.random()*360+",100%,50%)");
});

现在,无耻的插件:我写了a library根据 ID 生成颜色。因此,如果您不想手动挑选颜色,并且希望颜色与数据具有持久的关系,这会有所帮助。 Here's the example使用它。

ht.graph.eachNode(function(node) {  
    node.setData('color', $.fn.autumn.getColor(node.id));
});

关于Javascript Infovis 更改单个节点颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485871/

相关文章:

javascript - 使用 PHP 输出的 Javascript 数组时出现未定义错误

分层着色节点的算法

python - 用python计算相似色

Python 2.6 字体/颜色更改 + 错误窗口

algorithm - 迭代过滤功能,可修改树状结构

Java hibernate/jpa 如何创建自相关的动态通用实体

javascript - 打印时如何在一张 A4 纸上放置两个 HTML div?

javascript - 在ReactJS中如何仅在登录成功时启用mui Snackbar?

javascript - 返回 JS 中的今天日期

algorithm - 邀请人们参加聚会的最佳算法