Základy D3js 5. část Připojení a vstup/výstup

V minulém článku jsme se dozvěděli o měřítkách, které pomáhají při převodu našich dat jako datových bodů pro svg.

Vizualizace dat znamená práci s daty. Chceme přistupovat k požadovaným datům efektivním způsobem. Joins nám pomáhá efektivně svázat data s prvkem DOM.

Chcete-li připojit data k DOM, stačí zavolat .data() na vybraném prvku d3 a předejte svá data jako parametr. V níže uvedeném příkladu máme 5 kruhových prvků. Vyberte všechny prvky a zavolejte .data() předáním dat do něj.

.data() funkce bude procházet daty a naváže data na každý uzel jeden po druhém. Stiskněte F12, znovu načtěte stránku a zkontrolujte protokoly. Najdete seznam uzlů, které jsme vybrali, a rozbalte první prvek a přejděte dolů dolů, kde můžete vidět __data__ který má příslušná data připojena k prvku, ke kterému máte přístup kdykoli select ten konkrétní prvek.

Pokud jste pozorovali nebo ne, naše data jsou pouze 4 dlouhá, ale tato data jsme spojili s 5 vybranými prvky. Zkontrolujte pátý prvek ze stejných protokolů, nebude tam žádný __data__ majetek k tomu.
D3 nám poskytuje snadný způsob, jak upravit prvky DOM na data pomocí .enter() funkce pro přidávání dat a .exit() funkce pro odstranění dat. Obě funkce vrátí data navíc, ale .enter() následuje .append() přidá další prvky a .exit() následuje .remove() odstraní nadbytečné prvky.

Odebrat příklad

Příklad připojení

Každá funkce získá připojená data jako parametr zpětného volání, se kterým můžeme dělat triky. Stejně jako změna hodnot jeho atributů a vlastností css.

V níže uvedeném příkladu měníme barvu výplně prvků kruhu na základě jejich poloměru. Pokud je menší než 35, barva výplně by měla být červená a jinak oranžová. Všimněte si, že podmínka se vztahuje pouze na další prvky, protože jsme použili podmínku po příkazu enter. Musíme znovu vybrat všechny kruhy, abychom vytvořili podmínku pro všechny.