0

创建比例:

headers.forEach(function(d) {
            // Coerce values to numbers.
            jsonObj.forEach(function(p) {
                y[d] = d3.scale.linear().domain(
                        d3.extent(jsonObj, function(p) {
                            return +p[d] || 0;
                        })).range([ h, 0 ]);
                y[d].brush = d3.svg.brush().y(y[d]).on("brush", brush);
            });
        }); 



g.append("svg:g").attr("class", "axis").each(function(d) {
            d3.select(this).call(axis.scale(y[d]));

规模即将到来 [0.0,0.1,0.2,...,1.0]

我想要这样的[0,1]。

这是可能的?我怎样才能做到这一点?

4

2 回答 2

1

你应该调查一下axis.ticks()。我假设axis.ticks(2)会给你最小和最大轴值。

如果您提前知道最小/最大值或想要计算它们,另一个可能会起作用的选项是axis.ticksValues().

有关两者的更多信息,以及有关轴的许多其他详细信息,可以在https://github.com/mbostock/d3/wiki/SVG-Axes#ticks找到

于 2015-06-26T14:49:29.790 回答
0

听起来您正在寻找的是.ticks()轴的方法,它指定了轴上的刻度数。

尝试:d3.select(this).call(axis.scale(y[d]).ticks(2));

于 2015-06-26T14:43:39.130 回答