反转d3色标

时间:2015-08-31 12:47:22

标签: javascript d3.js topojson

我想知道,给定一种颜色,是否有办法获得颜色代表d3.js色标内部的值?

我在画布中渲染了预先渲染的拓扑,并希望在悬停时显示拓扑的值。我可以非常轻松地获得用户悬停的区域的像素值,但将其转换回原始值似乎很难。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以定义颜色数组:

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);

on" hover",以防在数组中使用jQuery搜索值

if ($.inArray( "#"+yourVariableHereWithTheColorSelected, myColor.rag )) {
   // do something because is true
}