Je ne comprends pas bien la forme de la fonction.
x => Math.abs(x /= bandwidth) <= 1 ? 0.75 * (1 - x * x) / bandwidth : 0;
Ici je ne comprends pas :
=> Math.abs(x /= bandwidth) <= 1 ?
Ainsi que le :
/ bandwidth : 0;
J'ai une question concernant l'utilisation du " /= ". Qu'est ce que cet opérateur signifie ?
J'ai essayé avec et sans le "=" et la distribution change complètement. Je ne comprends pas pourquoi l'auteur du graphique a mis "/=" et non "/".
counter += 10 est équivalent à counter = counter + 10, mais au coût d'une seule étape de calcul (l'addition + et l'affectation = sont bien deux étapes de calcul distinctes pour un ordinateur, += précise qu'on peut les faire en une seule fois)
Le comportement n'est effectivement pas documenté. Ce qui est documenté, c'est `axis.ticks(count, specifier)` ([ref](https://github.com/d3/d3-axis#axis_ticks)). J'imagine donc qu'il s'agit d'une façon de donner la valeur par défaut à `count` tout en spécifiant néanmoins `spcifier`. Si JavaScript avait des arguments nommés (comme R et Python), on en serait pas là...
J'ai essayé de coder la fonction update() pour afficher plusieurs noyaux en même temps, mais elle ne fonctionne pas, rien ne se produit. Est-ce une mauvaise définition des boutons de sélection (codé en html et non d3.js dans la partie 4.6) ? Sinon, est-ce une mauvaise implémentation de la fonction en elle-même ? Je suis un peu perdu pour cette fonction depuis ce matin.
C'est ce que j'ai essayé d'expliquer dans les consignes: c'est dû au fait que tes checkboxes ne sont pas accessibles depuis cette cellule. Si tu mets à jour la cellule des checkboxes, alors le graphique est redessiné en entier (pas besoin d'événement pour cela). Si tu veux quelque chose d'interactif, alors il faut que tu rajouter les checkboxes à l'intérieur du code.
Au passage, j'ai détecté une erreur dans ton code: d3.selectAll(".checkbox") n'au aucune chance de marcher (cela sélectionne les élèment de CLASSE "checkbox", i.e. par ex. <input class="checkbox"> etc.). Il faut remplacer par "input[type='checkbox']". Mais dans ton cas selectAll("input") suffit puisque tu n'as que des cases à cocher.