D3:将时间刻度的比例级别转换为时间段,如:日,周或月?

时间:2013-12-11 07:42:31

标签: d3.js scale

d3.event.scale 例如0.51.5 )获得时间刻度的当前比例级别,是否有任何如何将其转换为人类可读形式的规则,例如 - ?< / p>

更新

以下是我正在处理的草稿:http://cdpn.io/gzfyj。我基本上是在寻找一种方法来在缩放或平移后获得时间边界以及上述标识符中的缩放系数。

1 个答案:

答案 0 :(得分:2)

缩放后,

var width = x.domain(); 
var dur = width[1] - width[0]; 

将返回width中缩放的milliseconds。然后可以将此持续时间转换为您喜欢的任何形式。


这是一个工作示例,我使用moment.js 人性化图表底部的持续时间:http://codepen.io/musically_ut/pen/DJqtw

  var ext = x.domain();
  var duration = moment.duration(ext[1] - ext[0]).humanize();

  chart
    .select("text.duration")
    .text(duration);