Selecionando null: qual é o motivo por trás de 'selectAll (null)' no D3.js.
Eu vi alguns códigos D3 com um padrão como este para acrescentar elementos:
var circles = svg.selectAll(null)
.data(data)
.enter()
.append("circle");
Eu realmente não entendo esse trecho. Por que selecionarnull
?
Da maneira que eu entendo D3, se um é anexar círculos, deve ser:
var circles = svg.selectAll("circle")
.data(data)
.enter()
.append("circle");
Da mesma forma, se alguém anexa parágrafos HTML, deve ser:
var circles = svg.selectAll("p")
.data(data)
.enter()
.append("p");
O mesmo vale para as classes: se alguém estiver acrescentando elementos a uma classefoo
, deveria serselectAll(".foo")
.
Contudo,selectAll(null)
faz trabalhos! Os elementos são anexados.
Então, qual é o significado dissonull
? O que estou perdendo aqui?
Nota: esta é uma pergunta auto-respondida,tentando fornecer uma sessão de perguntas e respostas "canônicas" sobre um assunto que foi abordado por muitas perguntas anteriores e não explicado pela API. A maior parte da resposta abaixo é de um exemplo que escrevi no extintoDocumentação do StackOverflow.