Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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-画n次线_Javascript_D3.js - Fatal编程技术网

Javascript d3-画n次线

Javascript d3-画n次线,javascript,d3.js,Javascript,D3.js,我用d3绘制了一条垂直线。假设我想像条形码一样重复几次这行代码。我该怎么做 我知道这必须使用for来完成,但我不知道如何做 建议将非常有用 代码如下: var height = 500; var width = 500; var svgContianer = d3.select("body") .append("svg") .attr("width", width)

我用
d3
绘制了一条垂直线。假设我想像条形码一样重复几次这行代码。我该怎么做

我知道这必须使用
for
来完成,但我不知道如何做

建议将非常有用

代码如下:

var height = 500; var width = 500; var svgContianer = d3.select("body") .append("svg") .attr("width", width) .attr("height", height) var line = svgContianer.append("line") .attr("x1", 20) .attr("x2", 20) .attr("y1", 100) .attr("y2", 0) .attr("stroke", "#000") .attr("stroke-width", 2) var高度=500; var宽度=500; var svgContianer=d3.选择(“主体”) .append(“svg”) .attr(“宽度”,宽度) .attr(“高度”,高度) var line=svgContianer.append(“行”) .attr(“x1”,20) .attr(“x2”,20) .attr(“y1”,100) .attr(“y2”,0) .attr(“笔划”,“千”) .attr(“笔划宽度”,2)
提前感谢。

对于循环,有比使用
更好的选择。但无论如何

var高度=500;
var宽度=500;
变量计数=10,填充=5;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
对于(变量i=0;i
对于
循环,有比使用
更好的选项。但无论如何

var高度=500;
var宽度=500;
变量计数=10,填充=5;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
对于(变量i=0;i
对于
循环,有比使用
更好的选项。但无论如何

var高度=500;
var宽度=500;
变量计数=10,填充=5;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
对于(变量i=0;i
对于
循环,有比使用
更好的选项。但无论如何

var高度=500;
var宽度=500;
变量计数=10,填充=5;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
对于(变量i=0;i
如果要创建条形码,D3的方法是将每一行(元素)与其宽度(数据)绑定,然后使用D3的
进入
阶段来构建它们

此外,对于条形码,您还需要将
形状渲染
转换为
crispEdges

var高度=500;
var宽度=500;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
var line=svgContianer.selectAll(“行”)
.数据([1,2,1,3,2,1,3,2,1,3,2,1,3,2,4,3,1,2,2,2,1,3,2])
.输入()
.附加(“行”)
.attr(“x1”,函数(d,i){
返回20+5*i;
})
.attr(“x2”,函数(d,i){
返回20+5*i;
})
.attr(“y1”,100)
.attr(“y2”,0)
.attr(“笔划”,“千”)
.attr(“笔划宽度”,函数(d){
返回d;
})

如果要创建条形码,D3的方法是将每一行(元素)与其宽度(数据)绑定,然后使用D3的
进入
阶段来构建它们

此外,对于条形码,您还需要将
形状渲染
转换为
crispEdges

var高度=500;
var宽度=500;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
var line=svgContianer.selectAll(“行”)
.数据([1,2,1,3,2,1,3,2,1,3,2,1,3,2,4,3,1,2,2,2,1,3,2])
.输入()
.附加(“行”)
.attr(“x1”,函数(d,i){
返回20+5*i;
})
.attr(“x2”,函数(d,i){
返回20+5*i;
})
.attr(“y1”,100)
.attr(“y2”,0)
.attr(“笔划”,“千”)
.attr(“笔划宽度”,函数(d){
返回d;
})

如果要创建条形码,D3的方法是将每一行(元素)与其宽度(数据)绑定,然后使用D3的
进入
阶段来构建它们

此外,对于条形码,您还需要将
形状渲染
转换为
crispEdges

var高度=500;
var宽度=500;
var svgContianer=d3.选择(“主体”)
.append(“svg”)
.attr(“宽度”,宽度)
.attr(“高度”,高度)
变量行=svgContianer.sel
var height = 500;
var width = 500;
var count = 10, padding = 5;
var svgContianer = d3.select("body")
                        .append("svg")
                        .attr("width", width)
                        .attr("height", height)

for(var i = 0; i < count; ++i) {
    var line = svgContianer.append("line")
                            .attr("x1", padding*i)
                            .attr("x2", padding*i)
                            .attr("y1", 100)
                            .attr("y2", 0)
                            .attr("stroke", "#000")
                            .attr("stroke-width", 2)
}