【问题标题】:d3 - how to format date on x-axisd3 - 如何在 x 轴上格式化日期
【发布时间】:2018-08-24 12:56:03
【问题描述】:

d3 超级新手,如果这个问题措辞不当,我深表歉意。

我正在尝试更改预先存在的代码并重新格式化图表 x 轴上显示的日期。目前,我的 x 轴显示每个月的刻度,并且月份没有缩写,例如一月、二月等

由于篇幅限制,我需要缩写这些月份,例如一月、二月等

这是创建 x 轴的代码:

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

我相信我需要将一个函数链接到axisBottom 调用。我一直在查看文档中的tickFormat 和timeFormat,以及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 不是函数

谁能指出我正确的方向? 谢谢!

【问题讨论】:

    标签: d3.js


    【解决方案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'));
    

    【讨论】:

    • 是的!谢谢你。另外,我使用了错误的模块。正确的模块(对于我的设置)是d3TimeFormat,而不是d3axis。感谢您的帮助,如果允许,我会接受您的回答。
    • 如果您的问题得到解决,请继续。如果您需要任何帮助,也请告诉我。
    猜你喜欢
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2018-06-28
    • 2014-08-12
    相关资源
    最近更新 更多