【问题标题】:invert d3 color scale反转d3色标
【发布时间】:2015-08-31 12:47:22
【问题描述】:

我想知道,给定一种颜色,有没有办法获得该颜色在 d3.js 色标内表示的值?

我已在画布中呈现预投影拓扑,并希望在悬停时显示拓扑的值。我可以很容易地获得用户悬停区域的像素值,但将其转换回原始值似乎很困难。

有什么想法吗?

【问题讨论】:

  • 添加示例输入和预期输出以更清楚地说明您的问题.. 以及到目前为止您尝试过的代码
  • 取决于您使用的秤类型。您不能反转序数刻度(包括内置色标)的值。
  • 感谢@LarsKotthoff,这么想,但觉得值得一试。

标签: javascript d3.js topojson


【解决方案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);

在“悬停”上,以防在数组中使用 jQuery 搜索值

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2017-07-30
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多