Создание узлов и ссылок из файлов JSON с помощью SVG - PullRequest
0 голосов
/ 24 мая 2019

Я новичок в D3, и у меня возникают проблемы с визуализацией файла JSON. Я должен изобразить местоположения (сайты) в виде кругов с их радиусом, равным «количеству». Я очень озадачен тем, как работать с узлами и ссылками. Я также привел пример кода JSON. Пожалуйста, помогите мне понять, где я ошибаюсь с кодировкой

 <html>
<head>
<title>D3 Visualisation </title>
<h1> Trading Data </h1>
 <style>
.svgCanvas {
border: solid 1px
}
        </style>
    </head>
    <body>
        <svg></svg>
<script src="https://d3js.org/d3.v4.min.js"></script> <script>
window.onload = function(){ 
    var width = 800;
    var height = 300;
    var thisCanvas = d3.select("svg")
    .attr("width", width)
    .attr("height", height)
    .attr("class", "svgCanvas");


d3.json("data.json", function(d){
    console.log(d);

var svgCanvas.selectAll("circle")
    .data(d).enter()
    .append("circle")
    .attr("cx", function(d) { return d.x; })
    .attr("cy", function(d) { return d.y; })
    .attr("r", function(d) { return d.amount; } )
    .style("fill", “lightgreen”); }) 


})
    }
        </script>
    </body>
</html>

Пример кода Json выглядит следующим образом:

{
  "nodes": [
    {
      "id": "site09",
      "x": 317.5,
      "y": 282.5
    },
    {
      "id": "site01",
      "x": 112,
      "y": 47
    },
    {
      "id": "site03",
      "x": 69.5,
      "y": 287
    }
  ],

  "links": [
    {"node01": "site05", "node02": "site08", "amount": 10},
    {"node01": "site05", "node02": "site02", "amount": 120},
    {"node01": "site05", "node02": "site03", "amount": 50}
  ]
}

1 Ответ

0 голосов
/ 24 мая 2019

Здесь вы можете получить рабочее решение. Просто замените объект данных на json.

https://playcode.io/324480?tabs=console&script.js&output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...