我遇到了一个非常有趣的问题,
我正在创建折线图比较预订&取消多个航班直至出发地。所以X轴必须显示只有几个小时的倒计时,如72 - 48 - 24 - 12 - 6 - 0,我怎样才能使用d3s可用的线性刻度和&时间尺度。 ?
我目前正在使用线性恐慌,但其基数为10,所以不会像预期的那样工作
使用时间缩放时显示日期,但不应该绑定日期,只需要在航班起飞前144小时显示。
非常感谢您的帮助。
提前致谢
答案 0 :(得分:0)
我找到了解决方案
我不确定它是否正确的方式,但它适用于我,基本上我们必须改变刻度的格式来代表分钟而不是十进制数
这就是我做的
创建一个线性比例,将十进制转换为分钟
var dectomin = d3.scale.linear().rangeRound([0 , 60]).domain([0,1]);
并使用tickFormat函数格式化轴组件上的刻度标记
var chartXAxis = d3.svg.axis().scale(chartXScale).orient("bottom")
.tickFormat(function(n){
if(n % 1 === 0) {
return n;
} else {
var f = Math.floor(n);
var d = n - f;
return f + ":" + chartXScaleTime(d);
}
});
感谢prayerslayer了解这个想法