d3.js 将比例调整为蓝色的 rgb() 范围

标签 d3.js range scale rgb

尝试按比例填充条形图上的矩形颜色,

  var x1 = d3.scaleTime()
    .domain([parseTime('00:00'), d3.max(data, function(d) {
      return d.value
    })])
    .range([2, 256]);

像这样,

  .style('fill', function(d) {
          return "'rgb(0,0," + x1(d.value) + ")'"
        })

尝试在刻度 d.value 上调整蓝色范围

我现在正在变黑,大概是默认颜色。

谢谢

最佳答案

您可以简化这一点,d3 比例可以在颜色之间进行插值,因此您可以使用如下代码:

 var x1 = d3.scaleLinear()
    .domain([0,100]])
    .range(["#000000","#0000ff"]);

您还可以使用:

 var x1 = d3.scaleLinear()
    .domain([0,100]])
    .range(["black","blue"]);

然后使用比例直接为矩形着色:

.style('fill', function(d) { 
          return x1(d.value);
        })

此外,是的,黑色是默认颜色。为了在代码片段中进行演示,我使用的是线性刻度而不是日期刻度:

var svg = d3.select("body")
  .append("svg")
  .attr("width",500)
  .attr("height",200);

var x1 = d3.scaleLinear()
  .domain([0,100])
  .range(["#000000","#0000ff"]);

var x2 = d3.scaleLinear()
  .domain([0,100])
  .range(["orange","steelblue"]);
        
var rects = svg.selectAll(null)
  .data(d3.range(100))
  .enter()
  .append("rect")
  .attr("fill",function(d) { return x1(d); })
  .attr("width",10)
  .attr("height",10)
  .attr("y",function(d) { return Math.floor(d/10) * 12; })
  .attr("x",function(d) { return d % 10 * 12; })

var rects = svg.selectAll("null")
  .data(d3.range(100))
  .enter()
  .append("rect")
  .attr("fill",function(d) { return x2(d); })
  .attr("width",10)
  .attr("height",10)
  .attr("y",function(d) { return Math.floor(d/10) * 12; })
  .attr("x",function(d) { return d % 10 * 12 + 130 ; })
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.10.0/d3.min.js"></script>

关于d3.js 将比例调整为蓝色的 rgb() 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468052/

相关文章:

javascript - D3.JS,如何在同一个数据绑定(bind)中呈现多个对象?

grails - 从grails Controller 将json对象传递给渲染d3图表的gsp?

vba - 对范围求和并格式化求和错误

python - 如何使用 Matplotlib 或 python 中的其他库设置轴间隔范围

javascript - 使用 JavaScript 缩放整个 SVG

javascript - 向 D3 和弦图添加标签

javascript - 将节点添加到 d3js 中现有的集群力布局

javascript - js TreeWalker 和/或 document.createRange() 没有拾取单个元素

r - 如何将连续的颜色图例添加到用 map 制作的 R map

html - CSS:使div宽度与高度成比例