我想拥有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")