在渲染后的d3中建立轴的范围

时间:2015-12-15 05:05:45

标签: d3.js

我希望能够在给定现有d3图表的情况下确定y轴范围。

我试过了:

d3.select(chartToUpdate).select('svg').select('g.axis').extent

d3.select(chartToUpdate).select('svg').select('x.axis').extent

以及上述的众多变种但没有成功。有没有办法做到这一点?

谢谢,

1 个答案:

答案 0 :(得分:0)

在D3中创建轴时,通常将其基于Scale。例如,线性标度可以是:

var scale = d3.scale.linear()
                    .domain([0, 100000]) // Input Range
                    .range([0, 100]);    // Output Range (e.g. 100 svg units wide)

var axis = d3.svg.axis().scale(scale);

因此,这意味着您应该能够在任何时候调用scale.domain()来获取可视化的输入范围。请注意,通常你会动态驱动它,所以你可能有:

scale.domain([0, d3.max(myNumberArray)]);