1
我想通過使用d3.js創建一個日曆熱圖。但我需要在週一開始星期幾,而不是默認日曆熱點地圖中的星期天。那麼,有沒有辦法讓今年和平日的周ISO格式在d3獲取ISO星期幾和星期幾
var rect = svg.selectAll(".day")
.data(function (d) {
return d3.time.days(new Date(d, 0, 1), new Date(d + 1, 0, 1));
})
.enter().append("rect")
.attr("class", "day")
.attr("width", cellSize)
.attr("height", cellSize)
.attr("x", function (d) {
return d3.time.weekOfYear(d) * cellSize;
})
.attr("y", function (d) {
return d.getDay() * cellSize;
})
計算工作日和周當年在上面的代碼的代碼是
d.getDay() and d3.time.weekOfYear(d)
分別
明白了。對getDay進行了一些修改以製作ISO日曆。儘管如此,第一個ISO 8601星期是包含第一個星期四的那個星期,但是https://jsfiddle.net/suhailsulu/cjj395zv/ –
'mondayOfYear'不會產生ISO星期數。 – Joey
D3日期不符合ISO8601:https://github.com/d3/d3-time-format –