对于d3来说是超级新手,如果这个问题措辞不好,我深表歉意。
我正在尝试更改现有代码并重新格式化图表x轴上显示的日期。目前,我的x轴显示每个月的滴答声,并且该月未缩写,例如一月,二月等
出于空间限制的原因,这几个月我需要缩写,例如 Jan , Feb 等
这是创建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不是一个函数
有人能指出我正确的方向吗? 谢谢!
答案 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'));