为CSV D3.js的每一行生成一个圆圈

时间:2012-11-09 20:50:25

标签: d3.js geometry labels

我正在尝试使用CSV读取并使用d3.js为每一行生成一个圆圈。

[我不想使用回调函数,但这是一个不同的问题。]

我可以为以下各行数据创建一个表:http://christopheviau.com/d3_tutorial/

但我似乎无法为每一行生成一个圆圈:

d3.text("test.csv", function(datasetText) {

var parsedCSV = d3.csv.parseRows(datasetText);

var sampleSVG2 = d3.select("#viz")
    .append("svg")
    .attr("width", 100)
    .attr("height", 100);

sampleSVG2.selectall("circle")
    .data(parsedCSV)
    .enter().append("circle")
    .style("stroke", "gray")
    .style("fill", "blue")

1 个答案:

答案 0 :(得分:0)

这可能不是“正确的”但它有效。通过为每一行和每个圆圈调用一个新的svg区域。

var sampleSVG = d3.select("#potato")
        .data(parsedCSV)
        .enter().append("circle")
        .append("svg")
        .attr("width", 100)
        .attr("height", 100);

sampleSVG.append("circle")
        .style("stroke", "gray")
        .style("fill", "blue")
        .attr("r", 40)
        .attr("cx", 50)
        .attr("cy", 50)
        .on("mouseover", function(){d3.select(this).style("fill", "red");})
        .on("mouseout", function(){d3.select(this).style("fill", "steelblue");});