Javascript Can';t使用D3.JS时加载TSV

Javascript Can';t使用D3.JS时加载TSV,javascript,csv,d3.js,Javascript,Csv,D3.js,我需要在斜坡图中可视化TSV文件,其中包含国家、日期和百分比。接下来,我需要使用一个CSV文件来完成另一项任务,坦率地说,它加载时没有任何问题,但我坚持这个文件已经超过1.5天了,我就是想不出来 我已经编写了一个基本代码,只是为了测试是否可以显示TSV文件中的一些文本。另外,在检查chrome浏览器中的元素时,我没有看到SVG容器。我真的很想在这个问题上得到一些帮助 var container = d3.select("body").append("svg")

我需要在斜坡图中可视化TSV文件,其中包含国家、日期和百分比。接下来,我需要使用一个CSV文件来完成另一项任务,坦率地说,它加载时没有任何问题,但我坚持这个文件已经超过1.5天了,我就是想不出来

我已经编写了一个基本代码,只是为了测试是否可以显示TSV文件中的一些文本。另外,在检查chrome浏览器中的元素时,我没有看到SVG容器。我真的很想在这个问题上得到一些帮助

    var container = d3.select("body").append("svg")
                .attr("width", 500)
                .attr("height", 500);

d3.tsv("18-year-olds-in-education.tsv", function(error, data) {
    data.forEach(function(d) {
        d.indic_ed,geo\time = d.indic_ed,geo\time;
        d.2001 = +d.2001
        d.2012 = +d.2012;
});


var text = container.selectAll("text")
                .data(data)
                .enter()
                .append("text");

var textLabels = text
     .attr("x", 200)
             .attr("y", 200)
             .text(function(d) { return d.2012)
             .attr("font-family", "sans-serif")
             .attr("font-size", "20px")
             .attr("fill", "red");

});

问题是您在TSV中使用的字段名。特别是,以下代码不是有效的Javascript:

d.indic_ed,geo\time = d.indic_ed,geo\time;
d.2001 = +d.2001;
d.2012 = +d.2012;
您可以使用其他语法访问字段,但:

d['2001'] = +d['2001'];
d['2012'] = +d['2012'];

我省略了这里的第一条语句,因为它没有任何效果。

您是否收到任何错误消息?未捕获的语法错误:包含以下代码的行上出现意外的非法标记:d.indic\u ed,geo\time=d.indic\u ed,geo\time;。当我删除data.forEach函数(这是我在这个问题之前的旧代码)并在浏览器中运行它时,我在包含以下代码的行上得到了一个错误:“Uncaught SyntaxError:Unexpected number:。text(function(d){return d.2012)啊,您需要像这样引用该字段:
d[“indic,geo\time”]
。我建议将其重命名为更理智的名称。我更改了[“indic\u ed,geo\time”]到国家。这一行现在包括d.country=d.country。只是现在我在下一行得到了这个错误:意外数字。我在tsv文件中将2012改为twelf,将2001改为1。现在它不见了。非常感谢您的时间。出于好奇,我问了一个问题,为什么我不能使用这些数字,而必须将它们设为字符串?哦,是的,这是另一回事:)它根本不是有效的Javascript。不过,您可以使用
d[“2001”]
而不是
d.2001