Javascript 我正在制作一个d3.js图形作为csv文件,我应该如何操作数据?

Javascript 我正在制作一个d3.js图形作为csv文件,我应该如何操作数据?,javascript,d3.js,Javascript,D3.js,这是我的密码 d3.csv("/static/domain.csv", function(error, data) { dataset=data var diameter = 800; var format = d3.format(",d"), color = d3.scaleOrdinal(d3.schemeSet3) var bubble = d3.pack(dataset)

这是我的密码

d3.csv("/static/domain.csv", function(error, data) {

 dataset=data
 
        var diameter = 800;
        var format = d3.format(",d"),
      color = d3.scaleOrdinal(d3.schemeSet3)

        var bubble = d3.pack(dataset)
            .size([diameter, diameter])
            .padding(1.5);


        var svg = d3.select("body")
            .append("svg")
            .attr("width", diameter)
            .attr("height", diameter)
            .attr("class", "bubble");

        var nodes = d3.hierarchy(dataset)
            .sum(function(d) { return d.Count; });

        var node = svg.selectAll(".node")
            .data(bubble(nodes).descendants())
            .enter()
            .filter(function(d){
                return  !d.children
            })
            .append("g")
            .attr("class", "node")
            .attr("transform", function(d) {
                return "translate(" + d.x + "," + d.y + ")";
            });

        node.append("title")
            .text(function(d) {
                return d.Name + ": " + d.Count;
            });

        node.append("circle")
            .attr("r", function(d) {
                return d.r;
            })
            .style("fill", function(d,i) {
                return color(i);
            });

        node.append("text")
            .attr("dy", ".2em")
            .style("text-anchor", "middle")
            .text(function(d) {
                return d.data.Name.substring(0, d.r / 3);
            })
            .attr("font-family", "sans-serif")
            .attr("font-size", function(d){
                return d.r/5;
            })
            .attr("fill", "white");

        node.append("text")
            .attr("dy", "1.3em")
            .style("text-anchor", "middle")
            .text(function(d) {
                return d.data.Count;
            })
            .attr("font-family",  "Gill Sans", "Gill Sans MT")
            .attr("font-size", function(d){
                return d.r/5;
            })
            .attr("fill", "white");

        d3.select(self.frameElement)
            .style("height", diameter + "px");


});
我犯了个错误

visiteddomain.js:52未捕获(承诺中)类型错误:无法读取 未定义的属性“substring” 在SVGTextElement。(visiteddomain.js:52) 在SVGTextElement。(d3.v6.min.js:2) 在xn.each(d3.v6.min.js:2) 在xn.text(d3.v6.min.js:2) 在visiteddomain.js:51 在d3.v6.min.js:2 在d3.v6.min.js:2 在r(d3.v6.min.js:2) 解析时(d3.v6.min.js:2) 在d3.v6.min.js:2

原始数据集如下所示

dataset = {
            "children": [{"Name":"Olives","Count":4319},
                {"Name":"Tea","Count":4159},
                {"Name":"Mashed Potatoes","Count":2583},
                {"Name":"Boiled Potatoes","Count":2074},
                {"Name":"Milk","Count":1894},
                {"Name":"Chicken Salad","Count":1809},
                {"Name":"Vanilla Ice Cream","Count":1713},
                {"Name":"Cocoa","Count":1636},
                {"Name":"Lettuce Salad","Count":1566},
                {"Name":"Lobster Salad","Count":1511},
                {"Name":"Chocolate","Count":1489},
                {"Name":"Apple Pie","Count":1487},
                {"Name":"Orange Juice","Count":1423},
                {"Name":"American Cheese","Count":1372},
                {"Name":"Green Peas","Count":1341},
                {"Name":"Assorted Cakes","Count":1331},
                {"Name":"French Fried Potatoes","Count":1328},
                {"Name":"Potato Salad","Count":1306},
                {"Name":"Baked Potatoes","Count":1293},
                {"Name":"Roquefort","Count":1273},
                {"Name":"Stewed Prunes","Count":1268}]
        };
和我的csv文件

,Name,Count 
0,google.com,43 
1,stackoverflow.com,20 
2,tistory.com,12
3,github.com,11 
4,observablehq.com,10 
5,ocks.org,8 
6,youtube.com,6
7,okky.kr,6 
8,naver.com,5 
9,plnkr.co,2

我认为你应该用
d.Name
替换
d.data.Name
。与
d.data.Count相同

我认为您应该用
d.Name
替换
d.data.Name
。与D3V6中的
d.data.Count

相同,
d3.csv(url,回调)
已被
d3.csv(url)替换。然后(回调)
在D3V6中,
d3.csv(url,回调)
已被
d3.csv(url)替换。然后(回调)