javascript - D3.js: vad är 'g' i .append("g") D3.js-kod?
Jag är ny på D3.js, började lära mig idag bara
Jag tittade på donutexemplet och hittade denna kod
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")");
Jag sökte efter dokumentation, men förstod inte vad .append("g") lägger till
Är det ens D3-specifikt?
Letar efter vägledning här
Svar #1
Den lägger till ett 'g'-element till SVG. g-elementet används för att gruppera SVG-former tillsammans, så nej, det är inte specifikt för d3.
Svar #2
Jag kom hit från en d3-inlärningskurva också. Som redan påpekats är detta inte specifikt för d3, det är specifikt för svg-attribut. Här är en riktigt bra handledning som förklarar fördelarna med svg:g (gruppering).
Det är inte så annorlunda från användningsfallet med "gruppering" i grafiska teckningar, såsom de man skulle göra i en PowerPoint-presentation.
http://tutorials.jenkov.com/svg/g-element.html
Som påpekats i ovanstående länk: för att översätta måste du använda translate(x,y):
<g>-elementethar inga x- och y-attribut. För att flytta innehållet i ett<g>-elementkan du endast göra det med hjälp av attributet transform, med funktionen "translate", på detta sätt: transform="translate(x,y)".