d3-如何在x轴上格式化日期

时间:2018-08-24 12:56:04

标签: d3.js

对于d3来说是超级新手,如果这个问题措辞不好,我深表歉意。

我正在尝试更改现有代码并重新格式化图表x轴上显示的日期。目前,我的x轴显示每个月的滴答声,并且该月未缩写,例如一月二月

出于空间限制的原因,这几个月我需要缩写,例如 Jan Feb

这是创建x轴的代码:

   master.append("g")
      .attr("class", "x axis")
      .attr("transform", "translate(0," + height + ")")
      .call(d3axis.axisBottom()
        .scale(x));

我认为我需要将一个函数链接到axisBottom调用。我一直在看文档中的tickFormattimeFormat,还看过this示例。我正在尝试做类似的事情:

    master.append("g")
      .attr("class", "x axis")
      .attr("transform", "translate(0," + height + ")")
      .call(d3axis.axisBottom()
        .tickFormat(d3axis.timeFormat("%m"))
        .scale(x));

但是我得到这个错误: npmD3Axis.default.timeFormat不是一个函数

有人能指出我正确的方向吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

axis.ticks(d3.time.months, 1).tickFormat(d3.time.format("%b"));

您必须将格式%m更改为%b

对于d3.js v4

axis.ticks(d3.timeMonth, 1).tickFormat(d3.timeFormat('%b'));