我正在寻找一种方法来改变d3.js中不同类别的默认颜色。
我在主d3.js中找到了颜色的位置。只有一个类别是这样的:
var ml = [2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175].map(yt)我试着用从十六进制代码到HSL到RGB的所有东西来替换这些值,它永远不会产生预期的颜色。
有什么办法能为我想要的任何颜色生成合适的数字吗?
谢谢。
发布于 2014-11-05 19:36:22
首先,通过FYI,查看与这些数字相对应的RGB (即十六进制)值:
(2062260).toString(16); // 16 for hex, aka base 16
> "1f77b4"接下来,给定要转换为数字的RGB (同样是十六进制):
parseInt("1f77b4", 16); // 16 for hex
> 2062260这就是你想要用的号码。
从d3源获得的颜色用于构造从d3.scale.category10()获得的内容。通过构造一个d3.scale.ordinal,您可以获得相同的东西,但可以使用自己的颜色-并且不需要修改d3的源代码。
var myCategory3 = d3.scale.ordinal()
.domain(["red", "#1f77b4", "rgb(128, 255, 128)"]);// All kinds of colors are possible
myCategory3("X");// "red"
myCategory3("blabla");// "#1f77b4"
myCategory3("X");// "red"
myCategory3(123456);// "rgb(128, 255, 128)"https://stackoverflow.com/questions/26765157
复制相似问题