0

x座標とy座標がたくさんあるcsvから円を描こうとしています。私は D3 が初めてで、次にどこに行けばよいかわかりません。ここにコードがあります

<!DOCTYPE html>
<html>
  <head>
    <script type="text/javascript" src="http://mbostock.github.com/d3/d3.js"></script>
  </head>
  <body>
    <script type="text/javascript">

d3.xml("brussels3.svg", "image/svg+xml", function(xml) {
   document.body.appendChild(xml.documentElement);

d3.csv("brusselsconverteddata.csv")
    .row(function(d) { return {key: +d.key, value: +d.value}; })
    .get(function(error, rows) { console.log(rows); });

   var svg = d3.select('svg');

   svg.append("circle")
    .style("stroke", "gray")
    .style("fill", "black")
    .attr("r", 15)
    .attr("cx", 2142)
    .attr("cy", 2209)
    .on("mouseover", function(){d3.select(this).style("fill", "aliceblue");})
    .on("mouseout", function(){d3.select(this).style("fill", "black");});


});



    </script>
  </body>
</html>

D3 の座標のリストを反復処理する方法がわかりません。リストを反復するために cx と cy .attr に何を入れるかについて混乱しています。

4

1 に答える 1

1

csv のコールバックをより適切に設定する必要があります。現時点では 2 番目の部分がd3.csv("brusselsconverteddata.csv", function (error, dataset) { //draw something here }); ありません。円も次のように生成する必要があります。

svg.selectAll("circles")
.data(dataset)
.enter()
.append("circle")
.attr("r", //your radius value)
.attr("cx", function (d) { return d.the_x_value_in_the_csv; })
.attr("cy", function (d) { return d.the_y_value_in_the_csv; })

等々

于 2013-11-10T11:22:16.537 に答える