Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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来自多个CSV的链接点_Javascript_Csv_D3.js - Fatal编程技术网

Javascript d3.js来自多个CSV的链接点

Javascript d3.js来自多个CSV的链接点,javascript,csv,d3.js,Javascript,Csv,D3.js,我是d3.js的新手,正在尝试从视频中获取的点创建一个棒状图形。 对于每个csv,我有时间(V1)、宽度(V2)和高度(V3)。每个csv包含主体成员的数据 目前,我已经成功地展示了每个成员的动作,但在创建两个肩膀之间的链接时,我被卡住了 这是我的密码 tsv如下所示: "","V1","V2","V3","V4","V5","Arc_tangent" "497",16534,-17,194,"Gamme1","G1M4",95.0149703115723 "498",16567,-14,194

我是d3.js的新手,正在尝试从视频中获取的点创建一个棒状图形。 对于每个csv,我有时间(V1)、宽度(V2)和高度(V3)。每个csv包含主体成员的数据

目前,我已经成功地展示了每个成员的动作,但在创建两个肩膀之间的链接时,我被卡住了

这是我的密码

tsv如下所示:

"","V1","V2","V3","V4","V5","Arc_tangent"
"497",16534,-17,194,"Gamme1","G1M4",95.0149703115723
"498",16567,-14,194,"Gamme1","G1M4",94.1345252720128
"499",16600,-8,195,"Gamme1","G1M4",92.3560812239648
"500",16634,-4,199,"Gamme1","G1M4",91.1582332417969
"501",16667,-2,202,"Gamme1","G1M4",90.5739377208393
"502",16700,1,208,"Gamme1","G1M4",89.7311508785662
"503",16734,4,213,"Gamme1","G1M4",88.9306996559012
以及守则:

var width=600,height=400;

var rayon=25;
var canvas3=d3.select(".trois")
    .append("svg")
    .attr("width",width).attr("height",height)
    .append("g")
    .attr("transform", "translate(0,0)");

var x = d3.scale.linear()
.domain([-200,200])
.range([5, width]);
var y = d3.scale.linear()
.domain([-100,250])
.range([height,5]);

d3.csv("donnees/VepauledG1M4.tsv", function(error, ed) {
ed.forEach(function(d) { 
    d.V1 =+ parseInt(d.V1); 
    d.V2 =+ parseInt(d.V2);
    d.V3 =+ parseInt(d.V3); 
});         
d3.csv("donnees/VepaulegG1M4.tsv", function(error, eg) {
eg.forEach(function(d) { 
    d.V1 =+ parseInt(d.V1); 
    d.V2 =+ parseInt(d.V2);
    d.V3 =+ parseInt(d.V3); 
});     

var pointsepauled=canvas3.selectAll(".pointsepauled") 
.data(ed)
  .enter().append("circle") 
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
.attr("r", 2)
.attr("class","pointsepauled")
.attr("opacity",0)
.attr("fill", "white");

pointsepauled.transition()
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
.attr("fill", "blue")
    .attr("opacity",1)
        .duration(33)
.delay(function(d) { return (d.V1); });

pointsepauled.transition()
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
    .attr("opacity",0)
.delay(function(d) { return (d.V1)+100; });

var pointsepauleg=canvas3.selectAll(".pointsepauleg") 
.data(eg)
  .enter().append("circle") 
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
.attr("r", 2)
.attr("class","pointsepauleg")
.attr("opacity",0)
.attr("fill", "white");

pointsepauleg.transition()
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
.attr("fill", "red")
    .attr("opacity",1)
        .duration(33)
.delay(function(d) { return (d.V1); });

pointsepauleg.transition()
.attr("cx",function(d) { return x(d.V2); })
.attr("cy",function(d) { return y(d.V3); })
    .attr("opacity",0)
.delay(function(d) { return (d.V1)+100; });
我找到了一个解决方案: 我将两个csv合并到一个csv中,从一个csv添加到阵列的每个对象所需的属性

var epauledroite = ed;
var epaules = eg; 
var i, len = epaules.length;
for (i=0; i<len; i++){
epaules[i].abs=epauledroite[i].V2;
epaules[i].ord=epauledroite[i].V3;
}

我必须感谢来自的安德鲁对我的帮助。

你有一个我们可以解决的问题吗?对不起,最后一个问题不好。(虽然我在复制这一个时似乎遗漏了一些东西…)我不明白为什么JSFIDLE不能工作。下面是我网站上的一个工作示例。在你的小提琴上,你没有包括D3的外部链接。所以它不知道如何使用你的代码。干杯。谢谢你。我已经包括了它,但它似乎没有变得更好:
var groups = canvas3.selectAll('.epaules')
.data(epaules)
.enter()
.append("line")
    .attr("x1", function(d) {return x(d.V2);})
    .attr("y1", function(d) {return y(d.V3);})
    .attr("x2", function(d) {return x(d.abs);})
    .attr("y2", function(d) {return y(d.ord);})
.style("stroke", "white")
.attr("class", "epaules")
.attr("opacity",0)
.style("stroke-width", 2);