使用D3.JS时无法加载TSV

时间:2014-06-11 14:12:57

标签: javascript csv d3.js

我需要在斜率图中显示具有国家/地区,日期和百分比的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");

});

1 个答案:

答案 0 :(得分:0)

问题是您在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'];

我在这里省略了第一个声明,因为它没有效果。