Utiliser l'échelle logarithmique d3 au lieu de l'échelle linéaire
Je suis en train de faire un graphique basé sur http://mbostock.github.com/d3/talk/20111116/bar-hierarchy.htmlla seule différence étant que je voudrais utiliser une échelle logarithmique pour l'axe des abscisses.
Voici mon violon: http://jsfiddle.net/JhDVC/5/
Comme vous pouvez le voir, l'axe des x est défini à la ligne 4:
x = d3.scale.linear().range([0, w]),
Si je l'ai changer pour
x = d3.scale.log().range([0, w]),
Alors il ne fonctionne pas (rien n'est rendus), jetant ces messages d'erreur:
Error: Invalid value for <rect> attribute width="NaN"
De changer le paramètre de domaine de
x.domain([0, root.value]).nice();
à
x.domain([1, root.value]).nice();
me montre de l'axe z (noms), mais toujours pas de bars ou de valeurs.
source d'informationauteur luisfarzati
Vous devez vous connecter pour publier un commentaire.
Il y a quelques autres endroits où le domaine de la balance est réglée. Vous devez mettre à jour ceux aussi bien.
De travail jsfiddle ici.
Et voici un code pour qu'il me permet de poster ceci:
Votre gamme comprend zéro - log(0) n'est pas défini.