Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在d3中获取ISO周日和一年中的周_Javascript_D3.js - Fatal编程技术网

Javascript 在d3中获取ISO周日和一年中的周

Javascript 在d3中获取ISO周日和一年中的周,javascript,d3.js,Javascript,D3.js,我正在尝试使用d3.js创建日历热图。但是我需要在周一开始一周,而不是在默认日历热图中的周日。那么,有没有办法以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

我正在尝试使用d3.js创建日历热图。但是我需要在周一开始一周,而不是在默认日历热图中的周日。那么,有没有办法以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) 
分别

根据

weekOfYear是sundayOfYear的别名

因此,在我看来,你寻求的解决方案只是改变你现在拥有的:

d3.time.sundayOfYear(date) 
为此:

d3.time.mondayOfYear(date)

知道了。对getDay进行了一些修改以制作ISO日历。d3
mondayOfYear
中的iso日历链接不会生成iso周数,因为第一个iso 8601周包含第一个星期四。