2014-10-20 4 views
1

Я пытаюсь загрузить файл text (mydata.txt) в d3.js. mydata.txt выглядит следующим образомКак загрузить файлы txt в D3.JS

имя, возраст, Мария, 30, Фред, 50, Фрэнсис, 12

Я использовал код следовать, но я получаю эту ошибку в консоли: «Неожиданное значение NaN атрибут ширины разбора ".

<script> 
    //d3.txt("mydata.txt", function(data) { 
    d3.csv("mydata.txt", function(data) { 

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

      canvas.selectAll("rect") 
        .data(data) 
        .enter() 
         .append("rect") 
         .attr("width",function(d){return d.age*10;}) 
         .attr("height",48) 
         .attr("y",function(d,i){return i*50;}) 
         .attr("fill", "blue"); 


}) 
</script> 
+1

попробуйте удалить пробелы после запятых. большинство парсеров CSV, с которыми я столкнулся, не нравится. –

+0

Две вещи 1. В вашей функции ширины, консоль журнала d, прежде чем вы вернете функцию. Скорее всего, пробелы бросают вашу ошибку. 2. Ваш csv должен быть в формате: заголовок (столбцы), за которым следуют строки. ставить все в линию также будет ошибка. –

ответ

2

Вероятная причина: d.age*10. Умножая нечисловую строку, или undefined, приводит к NaN. Попробуйте бросить .each(function(d){console.log(d)}) в цепочку, прямо под append, и посмотрите, что вы ожидаете.

Вы также можете попробовать зарегистрировать весь data и посмотреть, что это такое.

Я бы также рекомендовал использовать .csv, а не .txt. Из-за лучшей практики, из-за этого возможно что-то странное.

Смежные вопросы