更新数据时,D3JS V5无法构建固定大小的图例切片

时间:2019-02-09 21:17:41

标签: d3.js heatmap

我想拥有9个等级的传奇。数据更新后,仅图例文本将被更改。我无法通过下面的代码来实现。当我更新数据时,将根据新数据的最小值和最大值来更改等级数。我设置了ticks(9),但是不起作用。关于如何调整的任何建议?固定比例尺不是首选。

var z = d3.scaleLinear().range(["#fff7f3", "#49006a"])
    z.domain(d3.extent(data, function(d) {return d.count}))

var legend = svg.selectAll(".legend").remove()  
    legend = svg.selectAll(".legend")
        .data(z.ticks(9).slice(1).reverse())    
        .enter().append("g")
            .attr("class", "legend")
            .attr("transform", function(d, i) { return "translate(" +   
                 -(-290 + i * 35) + "," + 415 + ")"; })

    legend.append("rect")
        .attr("x", 0)
        .attr("y", 0)
        .attr("width", 35)
        .attr("height", 25)
        .style("fill", z)

    legend.append("text")
        .attr("x", -1)
        .attr("y", 35)
        .attr("dy", ".35em")
        .text(String)
        .attr("font-size", "11px")

0 个答案:

没有答案