从JSON d3.js获取节点和链接

时间:2019-07-13 07:44:40

标签: d3.js

我有一个看起来像这样的JSON对象:

[{"Abteilung":"Research & Development","Aktienoptionen":0,"Alter":29,"AnzahlVorherigeArbeitgeber":2,"ArbeitsjahreGesamt":6,"Ausbildungsbereich":"Life Sciences","EntfernungVonZuhause":27,"FTE":1,"Familienstand":"Single","Fluktuation":"No","GehaltsanstiegProzent":11,"Geschaeftsreisen":"Travel_Rarely","Geschlecht":"Female","Image":"https://randomuser.me/api/portraits/women/43.jpg","Involvement":2,"JahreAktuelleFuehrungskraft":3,"JahreAktuelleRolle":3,"JahreBetriebszugehoerigkeit":3,"JahreLetzteBefoerderung":2,"Level":1,"LevelAusbildung":4,"Mitarbeiternummer":28,"Monatseinkommen":6407,"Monatsrate":7544,"Name":"Susanne Gast ","PerformanceRating":3,"Prediction":0.8995941357,"Rolle":"Research Director","StandardStunden":40,"Stundensatz":53,"Tagesrate":419,"TrainingsVorjahr":1,"Ueberstunden":"Yes","Volljaehrig":"Y","WorkLifeBalance":3,"ZufriedenheitArbeitsumfeld":1,"ZufriedenheitBeziehung":3,"ZufriedenheitJob":2},...]

现在,我想创建一个图形,将“名称”,“图像和预测”键显示为节点并将其链接到“ Abteilung”

    ...
    var nodes = data.Name,
        links = data.Abteilung;
    //Create Force Layout
    var force = d3.layout.force()
                    .size([width, height])
                    .nodes(nodes)
                    .links(links)
                    .gravity(0.05)
                    .charge(-200)
                    .linkDistance(200);
    //Add links to SVG
    var link = svgElement.selectAll(".link")
                .data(links)
                .enter()
                .append("line")
                .attr("stroke-width", function(d){ return d.weight/10; })
                .attr("class", "link");
    //Add nodes to SVG
    var node = svgElement.selectAll(".node")
                .data(nodes)
                .enter()
                .append("g")
                .attr("class", "node")
                .call(force.drag);
    ...

我得到Uncaught TypeError: svgElement.selectAll(...).data(...).enter is not a function,因为我认为d3无法获得链接和节点。谢谢您的提示。

0 个答案:

没有答案