2017-01-07 2 views
1

Я Тестировать Сандей таблицу по следующей ссылке: https://gist.github.com/d3noob/c2637e28b79fb3bfea13интегрировать код JSON в d3 HTML файл

Но я могу видеть только диаграмму в Firefox, а не в Chrome. Я подозреваю, что Chrome не позволяет получать доступ к данным из внешнего файла.

Поэтому я пытаюсь интегрировать код JSON, но когда я пытаюсь его, диаграмма не отображается в Firefox

Я добавил переменную со всем кодом JSon как:

var dataset = {"nodes":[{"node":0,"name":"node0"},{"node":1,"name":"node1"},{"node":2,"name":"node2"},{"node":3,"name":"node3"},{"node":4,"name":"node4"}],"links":[{"source":0,"target":2,"value":2},{"source":1,"target":2,"value":2},{"source":1,"target":3,"value":2},{"source":0,"target":4,"value":2},{"source":2,"target":3,"value":2},{"source":2,"target":4,"value":2},{"source":3,"target":4,"value":4}]}; 

И я заменил эту строку кода:

d3.json("sankey-formatted.json", function(error, graph) { 

Для этого один (просто заменив имя файла переменной набора данных):

d3.json(dataset, function(error, graph) { 

,,, но не график не отображается. Любые идеи, почему диаграмма sankey не отображается?

Благодаря

ответ

1

Проблема вы столкнулись в том, что d3.json ...

... возвращает новый запрос, чтобы получить файл в формате JSON в указанном URL с приложением типа пантомимы по умолчанию/JSON.

При этом, решение проще, чем вы думаете: так как у вас уже есть переменная со всеми данными, просто назовите его (ваш d3.json функция загружает файл и заполнит массив данных называется):

var graph = {"nodes":[{"node":0,"name":"node0"},... 

И уронить функцию d3.json, не забывая снять закрывающую скобку/скобку:

d3.json("sankey-formatted.json", function(error, graph) {//remove this... 

    //your function 

});//...and don't fortget to remove this too. 
+0

Херардо, это ж отлично рылся. Большое большое спасибо!!! – Selrac

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