J'ai besoin de faire un graphique à barres empilé inhabituelle et acutally, je n'ai aucune idée réelle de la façon de le faire.D3 diagramme à barres empilé inhabituel
En général, il semble vraiment facile:
Je dispose d'un fichier CSV avec des valeurs différentes qui peuvent être soit int ou une chaîne. Chaque rangée a le même nombre de valeurs.
J'ai besoin maintenant de faire un graphique à barres empilées qui effectue les opérations suivantes:
barre pour chaque -One colonne colonne -Chaque doit avoir la même hauteur (cause même quantité d'entrées pour chaque colonne) et CHAQUE barre doit avoir une quantité différente de piles, une pile pour chaque valeur différente qui existe. (Plus souvent une valeur existe, plus cette pile devrait être)
Un exemple de fichier CSV serait:
Day, Value
Mo, 5
Mo, 3
Tu, 5
Tu, 6
Donc, pour la ligne de jour je besoin de 2 piles la même hauteur et pour la ligne de valeur 3 piles où l'un est 1/2 hauteur et les deux autres 1/4 chacun.
Et c'est le problème que j'ai. Chaque exemple que je peux trouver sur Internet fonctionne avec la même quantité de piles pour chaque barre. (Par exemple: https://bl.ocks.org/mbostock/3886394 ou https://bl.ocks.org/mbostock/1134768)
Des sugestions comment je peux résoudre ce problème?
merci beaucoup! Je vais essayer d'implémenter cela demain, mais il semble résoudre mon problème – Grogak
Hey, moi encore ... J'ai deux autres questions et après avoir essayé pendant un jour j'abandonne. Disons que j'ai un plus grand fichier csv avec 10-20 colonnes, et je veux le construire avec seulement 4-5 colonnes spécifiques, comment puis-je filtrer les colonnes que je veux utiliser? J'ai essayé avec: 'd3.keys (données [0]). Filter (fonction (d) {return d.match (/.../);})' mais je ne sais pas vraiment où je avoir à mettre en œuvre cela. Je pense juste au début mais comment? Ensuite: Est-il possible d'ajouter un peu d'espace entre chaque pile? En fait, je veux vraiment faire cela tout seul, mais il semble que je suis ennuyeux pour d3 .. – Grogak
1.Ajoutez 'data.columns.filter()' directement après avoir chargé le fichier csv dans 'data' et avant la boucle' for ... of'. (ligne 2 dans le violon) 2. Utilisez la méthode 'x.padding()', comme dans le violon, ligne 6. – ccprog