Ho uno svg esistente con un gruppo di poligoni. Ogni poligono ha un ID univoco, e con ogni id, ho alcuni dati associati.assicurati che l'elemento dati d3 corrisponda a id?
mia domanda è questa: se faccio la d3 join naturale:
d3.selectAll("polygon").data(array_of_data)
Esiste un modo per assicurare che l'elemento di dati associati con un poligono è quello giusto?
Oppure devo semplicemente mantenere l'ordine dello array_of_data
uguale all'ordine dei poligoni selezionati?
come si specifica quale elemento deve corrispondere alla chiave specificata? In che modo d3 sa che è il campo ID che d.id dovrebbe corrispondere? o lo fa? – Maus
Tutto ciò che d3 fa è assicurarsi che lo stesso elemento sia sempre usato per un dato dato. Non imposta l'attributo id dell'elemento se è quello che stai chiedendo. Mappa internamente un elemento alla chiave specificata. Se i tuoi dati hanno tutti le proprietà .id, allora usa il codice sopra. Se invece i tuoi dati hanno un altro modo per determinare l'id univoco, puoi farlo invece all'interno del callback, in questo modo: 'function (d) {return d.getUniqueId(); } ' –
quindi se i miei poligoni hanno già un nome, non c'è modo di dire a d3 che il dato con lo stesso nome corrisponde a quel poligono? – Maus