网站搜索

javascript - d3 js - 如何反转 d3.extent


我已经在 d3 中绘制了我的坐标轴,使用 d3.extent 方法来确定坐标轴的最大值和最小值。

然而,默认情况下,d3 会将 y 轴绘制倒转(d3 条形图是倒置的),我需要将其反转。

我如何告诉 extent 方法反转结果?

答案#1

您可以将 d3.extent 函数与 reverse 结合使用:

var yScale = d3.time.scale()
               .domain(d3.extent(data.History, function (d) { return d.ArrivalTime; }).reverse())
               .range([margin.top, chartHeight - margin.top * 2]);

答案#2

我已经设法使用以下代码手动完成了。我找不到比这更整洁的方法了:

 var yMax = d3.max(data.History, function (d) { return d.ArrivalTime });
 var yMin = d3.min(data.History, function (d) { return d.ArrivalTime });

var yScale = d3.time.scale()
                .domain([yMax, yMin])
                .range([margin.top, chartHeight - margin.top * 2]);