人力车中的X轴日期格式

时间:2014-02-11 19:35:57

标签: d3.js rickshaw

我在人力车图中添加了日期时间X轴:

var x_axis = new Rickshaw.Graph.Axis.Time({
   graph: graph,
   timeFixture: new Rickshaw.Fixtures.Time(),
});

但是,它通常不会给我我想要的格式。我可以给它一个说明符,所以日期时间总是以指定的格式(例如d3.time.format(说明符​​))?

3 个答案:

答案 0 :(得分:2)

根据Lars的链接示例,我做了以下内容:

var format = function(d) {
    d = new Date(d)
    return d3.time.format("%c")(d)
}
var x_axis = new Rickshaw.Graph.Axis.X({
        graph: graph,
        tickFormat: format,
});

这似乎有效,所以现在我只需找到一种方法让间距出来好......

答案 1 :(得分:1)

格式化程序只会格式化字符串,不会确定间距。 为了控制间距和格式,您可以编写自己的“灯具”,例如:看看https://github.com/shutterstock/rickshaw/blob/master/src/js/Rickshaw.Fixtures.Time.js的例子。 夹具提供两件事:间距(例如年,月,日,小时)和每种格式。 根据需要创建类似的夹具,空间和格式,并将其设置在x轴上:

var xAxis = new Rickshaw.Graph.Axis.Time( {
  graph: graph,
  //timeFixture: new Rickshaw.Fixtures.Time()
  timeFixture: new MyOwnTimeFixture()
} );

答案 2 :(得分:1)

试试这个它会起作用

var xAxis = new Rickshaw.Graph.Axis.Time({
        graph: graph,
        tickFormat: function(x){
            return new Date(x).toLocaleString();
        },
        ticks: 4
    });