D3 桑基图中更亮的节点颜色

问题描述

我希望 this sankey 图中的蓝色比链接颜色更亮,但出于某种原因,它适用于所有其他颜色而不是蓝色。这里是菜鸟,在此先感谢您的帮助。

解决方法

不工作的原因是因为在 RGB 蓝色 (0,255) 上调用更亮只会使蓝色通道更高 - 但它不能高于 255,所以结果相同。

解决方案是使用 HSL(就像在 .brighter(0.5) 之后添加 .formatHsl() 一样简单

所以而不是:

返回 d3.color(d.targetLinks[0].color).brighter(0.5);

应该是

返回 d3.color(d.targetLinks[0].color).brighter(0.5).formatHsl();

它奏效了。

此处提供完整的解决方案和更多信息https://talk.observablehq.com/t/flow-o-matic-brighter-nodes/4856/2

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...