我想知道,给定一种颜色,有没有一种方法可以获取颜色在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
}

07-26 06:55