Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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如何渲染每行15个圆_Javascript_D3.js - Fatal编程技术网

Javascript d3如何渲染每行15个圆

Javascript d3如何渲染每行15个圆,javascript,d3.js,Javascript,D3.js,我有一个数据集,每个值包含250个值,我想为每个数据值渲染一个圆,但在每15个圆之后,我需要切换到下一行并从那里开始渲染。我该怎么做?所有圆必须具有相同的半径3。我的代码: var svg = d3.select('#dots') var dataSet = []; var initialValue = 259 for(var i=0; i<=initialValue; i++){ dataSet.push(i) } var circle = svg.selectAll('ci

我有一个数据集,每个值包含250个值,我想为每个数据值渲染一个圆,但在每15个圆之后,我需要切换到下一行并从那里开始渲染。我该怎么做?所有圆必须具有相同的半径3。我的代码:

var svg = d3.select('#dots')

var dataSet = [];

var initialValue = 259



for(var i=0; i<=initialValue; i++){
dataSet.push(i)
}

var circle = svg.selectAll('circle')
    .data(dataSet)
    .enter()
    .append('circle')
    .attr({
        r: 3,
        cx:function(d, i){
        if(i<=15){
        return i*10+10
        } 
        },
        cy: function(d, i){
        if ( i<=15) {
        return 20
        } else  {
        return 30
        }
        },
        fill: 'red'
    });
var svg=d3.选择(“#点”)
var数据集=[];
var初始值=259
对于(var i=0;i您可以使用运算符:

.attr({
    r: 3,
    cx:function(d, i){
    return 30 + (i%15)*10

    },
    cy: function(d, i){
    return 10 - ((i%15)-i)
    },
    fill: 'red'
});
检查小提琴:

使用模的逻辑是,对于15的每一个倍数,结果将返回到0。例如,此代码:

var i = -1;
while (i++ < 200) console.log(i%15);
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 1, 2, 3, 4, 5, 
6, 7, 8, 9, 10, 11, 12, 13, 14...