Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/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.js在直行中定位圆_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 如何使用d3.js在直行中定位圆

Javascript 如何使用d3.js在直行中定位圆,javascript,svg,d3.js,Javascript,Svg,D3.js,我提前道歉,因为我对d3.js和编程都是全新的。我的目标是为数据集中的每个数据点画一个SVG圆圈。我希望这些圆从左上角开始,向右移动,直到它们到达窗口的末端,然后从左边开始,但在刚才绘制的前一行圆的下方 我的全局变量是: var counterX = 1; var counterY = 20; var windowWidth = window.innerWidth; var rowSize = windowWidth/12; //I chose 20 bc each circle has a R

我提前道歉,因为我对d3.js和编程都是全新的。我的目标是为数据集中的每个数据点画一个SVG圆圈。我希望这些圆从左上角开始,向右移动,直到它们到达窗口的末端,然后从左边开始,但在刚才绘制的前一行圆的下方

我的全局变量是:

var counterX = 1;
var counterY = 20;
var windowWidth = window.innerWidth;
var rowSize = windowWidth/12; //I chose 20 bc each circle has a Radius of 5.
我的x&y属性包括:

.attr("cx", function(d, i) { 
    if(i%rowSize==0){counterX == 0}
        else{return counterX++}        
    })
.attr("cy", function(d, i){ 
    if(i%rowSize==0){return 12*counterY++}
        return counterY;
    })

我不明白为什么当I%rowSize==0时计数器x没有重置,而且我也不知道如何在一行完全绘制后向下移动Y变量。

CounterX==0应该是CounterX=0谢谢,但我仍然有同样的问题..要向下移动一行,我想你必须这样做:counterY=12*counterY,是否将行大小格式化为整数?i递增为整数1,2,3,4,5,因此如果rowsize是浮点,则i%rowsize==0可能永远不会发生;如果不是,您的数据集有多大?是否有可能因为rowsize太大而不发生i/rowsize==0?也许试着给它一个固定的数字只是为了测试。谢谢你的建议,都解决了我的问题!