0

我正在尝试读取 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")
4

1 回答 1

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");});
于 2012-11-09T23:57:02.137 回答