d3(4.11.0)
我有一个x轴,显示每周开始时的周数。是否可以显示ISO周编号?
目前我的x轴定义如下:
this.xAxisTertiary
.ticks(d3.timeMonday.every(1))
.tickFormat(d3.timeFormat('Week %W')); // Week 16
我在这里阅读API Reference,%V
会将周编号格式化为ISO周编号,但也许我遗漏了一些内容。
谢谢。
答案 0 :(得分:1)
在d3 v4.12(change log)
之前,未添加%V格式选项否则你的代码应该没问题:
var width = 500;
var height =400;
var svg = d3.select("svg")
.attr("width",width)
.attr("height",height);
var g = svg.append("g");
var parse = d3.timeParse("%B %d, %Y");
var domain = [parse("January 1, 2017"), parse("January 1, 2018")]
var x = d3.scaleTime()
.domain(domain)
.range([10, width-10]);
g.append("g")
.attr("transform", "translate(10,150)")
.attr("class", "axis")
.call(d3.axisBottom(x)
.ticks(20)
.tickFormat(d3.timeFormat("Week %V"))
)

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.12.0/d3.min.js"></script>
<svg></svg>
&#13;