d3.js时间刻度的格式

d3.js时间刻度的格式,d3.js,D3.js,我使用的是d3.jstime.scale如下: var xScale = d3.time.scale() .domain(d3.extent(data, function(d) { return d.date; })) .range([0, chartWidth]); var testData = [ { "date": "2015-04-01T00:00:00.000Z", "value": 200.00 }, { "dat

我使用的是d3.js
time.scale
如下:

var xScale = d3.time.scale()
        .domain(d3.extent(data, function(d) { return d.date; }))
        .range([0, chartWidth]);
var testData = [
  {
    "date": "2015-04-01T00:00:00.000Z",
    "value": 200.00
  },
  {
    "date": "2015-05-01T00:00:00.000Z",
    "value": 2000.00
  },
  {
    "date": "2015-06-01T00:00:00.000Z",
    "value": 4000.01
  },
  {
    "date": "2015-07-01T00:00:00.000Z",
    "value": 1000.00
  },
  {
    "date": "2015-08-01T00:00:00.000Z",
    "value": 750.00
  },
  {
    "date": "2015-09-01T00:00:00.000Z",
    "value": 1568.00
  },
  {
    "date": "2015-10-01T00:00:00.000Z",
    "value": 3789.00
  },
  {
    "date": "2015-11-01T00:00:00.000Z",
    "value": 5678.00
  },
  {
    "date": "2015-12-01T00:00:00.000Z",
    "value": 4898.00
  },
  {
    "date": "2016-01-01T00:00:00.000Z",
    "value": 9002.00
  },
  {
    "date": "2016-02-01T00:00:00.000Z",
    "value": 3320.00
  },
  {
    "date": "2016-03-01T00:00:00.000Z",
    "value": 12000.00
  }
];
数据如下:

var xScale = d3.time.scale()
        .domain(d3.extent(data, function(d) { return d.date; }))
        .range([0, chartWidth]);
var testData = [
  {
    "date": "2015-04-01T00:00:00.000Z",
    "value": 200.00
  },
  {
    "date": "2015-05-01T00:00:00.000Z",
    "value": 2000.00
  },
  {
    "date": "2015-06-01T00:00:00.000Z",
    "value": 4000.01
  },
  {
    "date": "2015-07-01T00:00:00.000Z",
    "value": 1000.00
  },
  {
    "date": "2015-08-01T00:00:00.000Z",
    "value": 750.00
  },
  {
    "date": "2015-09-01T00:00:00.000Z",
    "value": 1568.00
  },
  {
    "date": "2015-10-01T00:00:00.000Z",
    "value": 3789.00
  },
  {
    "date": "2015-11-01T00:00:00.000Z",
    "value": 5678.00
  },
  {
    "date": "2015-12-01T00:00:00.000Z",
    "value": 4898.00
  },
  {
    "date": "2016-01-01T00:00:00.000Z",
    "value": 9002.00
  },
  {
    "date": "2016-02-01T00:00:00.000Z",
    "value": 3320.00
  },
  {
    "date": "2016-03-01T00:00:00.000Z",
    "value": 12000.00
  }
];
但滴答声和顺序并不像我预期的那样:

我预计滴答声将在2015年4月至2016年3月期间订购,我不知道2016滴答声来自何方

我如何才能像预期的那样订购滴答声,2016年的滴答声来自哪里


这是一个jsbin,显示

如果您希望勾号显示月份名称和年份,请将其添加到轴:

.tickFormat(d3.time.format("%B %Y"));
或者,您可以显示缩写的月份名称:

.tickFormat(d3.time.format("%b %Y"));
以下是更新后的jsbin:

注:要显示第一个刻度,请将
nice()
添加到刻度。这是带有
nice()
的jsbin:

以及为什么在开始处有空勾号?很抱歉,您是对的,2015年4月没有勾号。第一个滴答声是:不用担心。对于显示结束标记,有
nice()
:。这就是API所说的:“扩展域,使其开始和结束于由指定的时间间隔和可选步数确定的漂亮的圆值。”