我设法让它更新轴和路径,主要问题是range value未被识别为value,所以在它前面放一个+解决了,加上其他一点点的东西。
如果有人有兴趣,这是代码:
d3.select("#range")
.select("input")
.on("change", function () {
bin = +this.value;
//Le due variabili di istogramma
histogSans = d3 .layout.histogram()
.bins(bin)
.value(function (d) { return d.Peso; })
(FontSans);
histogSerif = d3 .layout.histogram()
.bins(bin)
.value(function (d) { return d.Peso; })
(FontSerif);
MaxSans = d3.max(histogSans, function (d) { return d.y; });
MaxSerif = d3.max(histogSerif, function (d) { return d.y; });
y.domain([0, d3.max(dataset, function (d) {
if ( MaxSans >= MaxSerif )
{ return MaxSans; }
else { return MaxSerif; };
})]).nice();
console.log(MaxSans, MaxSerif);
gy .transition()
.duration(1000)
.call(yAxis);
line = d3.svg.line()
.interpolate("monotone")
.x(function (d) { return x(d.x); })
.y(function (d) { return y(d.y); });
SansPath
.transition()
.duration(500)
.attr("d", line(histogSans));
SerifPath
.transition()
.duration(500)
.attr("d", line(histogSerif));
});