我想知道,给定一种颜色,有没有一种方法可以获取颜色在d3.js
色标内表示的值?
我已经在画布中渲染了预先投影的拓扑,并希望在悬停时显示拓扑的值。我可以很容易地获得用户悬停的区域的像素值,但是将其转换回原始值似乎很困难。
有任何想法吗?
最佳答案
您可以定义颜色数组:
var myColor = {
dom: [ 0,1,2,3,4,5,6,7,8,9 ],
rag: [ "#ffffff", "#fff5f0", "#fee0d2", "#fcbba1", "#fc9272", "#fb6a4a", "#ef3b2c", "#cb181d", "#a50f15", "#67000d" ]
};
然后在d3上将其分配给您的比例尺:
var color = d3.scale.threshold()
.domain(myColor.dom)
.range(myColor.rag);
在“悬停”上,以防在数组内使用jQuery搜索值
if ($.inArray( "#"+yourVariableHereWithTheColorSelected, myColor.rag )) {
// do something because is true
}