d3.js & nvd3.js — Comment définir l'axe y de la gamme
Je suis en train de définir l'axe y de gamme de la carte de 1 à 100.
Consulté la documentation de l'API et a trouvé une solution possible avec l'axe.tickValues comme on le voit ici
https://github.com/mbostock/d3/wiki/SVG-Axes#wiki-tickValues
Cependant, l'utilisation de l'option ne fonctionne pas. La lecture de la documentation de la page liée ci-dessus au titre de l'axe.tickSize, la ligne suivante, a été repéré
La fin tiques sont déterminées par les associés à l'échelle du domaine de mesure,
et font partie de l'généré chemin de domaine plutôt que d'une tique ligne
Donc je le réglage de la min et max de la gamme ne peut pas être fait par le biais de l'option d'Axe.
Toutes les idées sur où je peux spécifier la plage?
Vous devez vous connecter pour publier un commentaire.
Trouvé une solution.
Ajoutant
.forceY([0,100])
à l'instanciation de la carte des forces de l'axe à prendre sur la plage spécifiée dans le tableau.À partir de l'exemple ici http://nvd3.org/livecode/#codemirrorNav
Ajoutant
.forceY([0,100])
le tableau variable œuvres..forceY(val)
pour forcer le minimum et le maximum sera de rester dynamique..forceY()
assure que les valeurs que vous donnez, il apparaît quelque part sur l'écran. Toutes les valeurs de Y dans le jeu de données sera également affiché sur l'écran. Vous ne pouvez pas utiliser cette option pour certains des points de données à l'écran..forceY([min, max])
fonctionne très bien dans multibarcharts. Voir ce plunkr de référence. Il est construit sur Angulaire nvd3, mais il ne devrait pas y avoir de différence comment forceY œuvres.Comme le nom le suggère, ce ajoute les valeurs dans le tableau de votre
y
domaine, il ne permet pas de définir l'axe de domaine à[0,100]
. Donc, si vous définissez ce paramètre à[0,100]
et vos données du domaine est-10
à110
, le domaine sera[-10,110]
.Maintenant, si vous voulez que le nom de domaine
[0,100]
même si vos données est plus grand que vous pouvez utiliserchart.yDomain([0,100])
... MAIS en général, vous voulez que votre domaine d'inclure ou de vos données, je vous conseille vivement de l'aide graphique.forceY au lieu dechart.yDomain
. Comme vous le verrez, une des utilisations les plus courantes pour forceY estforceY([0])
faire 0 toujours dans le domaine.Espère que vous aide à comprendre ce que la fonction est en train de faire, et arboc7, ce qui peut expliquer pourquoi il ne fonctionne pas dans la plus petite que le jeu de données.
Pour les aires empilées les graphiques,
.forceY([0,100])
ne fonctionne pas.Utiliser à la place
.yDomain([0,100])
yDomain1
etyDomain2
, etc. Voir la question répertoriés ici: github.com/krispo/angular-nvd3/issues/81Si vous voulez dire le réglage de la
y-domain
(la plage de nombres qui doit être affiché) pour les aires empilées les graphiques, cela fonctionne pour moi:J'ai essayé:
Datamin et Datamax besoin de calcuate de la matrice. Aussi afin de régler l'axe des points de manière dynamique lorsque le filtre s'applique besoin de sur mesure de la poignée sur les événements de filtre comme:
De manière graphique permet d'ajuster à chaque fois que le filtre s'applique.
J'ai eu un problème similaire et résolu en définissant explicitement le domaine de la yScale de l'axe des y, c'est à dire