javascript - d3 : Color Range with an array with more than 2 colors

标签 javascript d3.js mapbox

我正在尝试根据 .json 文件中的属性值对 map 中的图层进行着色(使用 MapBox)。但是,该代码仅适用于传递的 2 个颜色值。下面是我的颜色编码片段。

  var color =
    d3.scale.linear()
    .domain(range)
    .range([#F0F0D0', '#228B22]);

如果我这样做会失败

  var color =
    d3.scale.linear()
    .domain(range)
    .range(['930F16', '#F0F0D0', '#228B22]);

map 将显示前两种颜色的范围。

如果我想制作超过两种的颜色范围,我该如何扩展?例如,如果我希望下端为红色,中间分位数为白色,顶部分位数为绿色

最佳答案

是这样的吗?

var color = d3.scale.linear()
    .domain([-1, 0, 1])
    .range(['#930F16', '#F0F0D0', '#228B22']);

这将在“#F0F0D0”和“#930F16”之间插入负值,在“#F0F0D0”和“#228B22”之间插入正值。

希望对您有所帮助!

关于javascript - d3 : Color Range with an array with more than 2 colors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32300579/

相关文章:

ios - 使用 KIF 双击

javascript - 更新记录时缺少可选字段值的正确明确的服务器端行为应该是什么?

javascript - jquery 将第一个表单元素聚焦在 Final 的选项卡上

javascript - 在javascript中找不到错误

基于数组的 Mapbox 过滤器

javascript - 从 Mapbox.js 使用 "Cross origin request error"时获取 'LoadURL()'

javascript - jQuery Effect导致button不被div包围

javascript - 隐藏一些图形元素,c3js,不卸载数据

javascript - 将鼠标移到 D3 Javascript 中的节点上时如何显示和隐藏节点

javascript - 如何复制 SVG 的内容并将其附加到另一个 SVG 框架?