从TSV文件使用D3绘制圆

时间:2019-03-02 17:38:27

标签: d3.js

在以下代码中,我从tsv文件中给出了圆的cx和cy值。但是,在控制台中查看代码时,圆圈没有获得cx和cy值。在浏览器中,所有圆圈都聚集在svg的左上角。如何分配cx和cy值?

function makeDemo1() {
    d3.tsv("data/examples-demo1.tsv")
        .then(function(data) {
        d3.select("svg")
            .selectAll("circle")
            .data(data)
            .enter()
            .append("circle")
            .attr("r", 5)
            .attr("fill", "red")
            .attr("cx", function(d) { return d["x"] })
            .attr("cy", function(d) { return d["y"] });
    });
}

身体

<body onload="makeDemo1()">
    <svg id="demo1" width="500" height="350" style="background: lightgrey">
    </svg>
</body>

tsv文件

x   y
50  25
150 100
250 175
350 250
450 325

1 个答案:

答案 0 :(得分:0)

当您的圈子结束于左上角时,表示您的数据无法正确读取,并且xy属性未定义。 您确定您的tsv文件是制表符分隔的和仅制表符的吗?当包含空格时,它将不起作用。

一个工作正常的人,我没有更改您的代码,只是确保数据以制表符分隔: https://next.plnkr.co/edit/0YWmLKqkzWJ32w8Z