d3.js: “Impossible de lire la propriété "poids" undefined” quand manuellement définir à la fois des nœuds et des liens pour de la force de mise en page
J'ai essayé d'installer les deux nœuds et des liens dans le même temps, de cette façon:
var force = d3.layout.force()
.size([w, h])
.nodes(nodes)
.links(connections)
.start();
nodes = [{"name":"data_base_id", "kind":"subgenre"},...]
connections = [{"source":"name_of_node", "target":"name_of_other_node"},...]
J'ai des données qui peuvent ne pas avoir des connexions, de sorte qu'il est nécessaire pour définir les nœuds, de sorte que tous les nœuds se rendait. Et de définir les genres est assez facile.
mais j'ai cette erreur;
Cannot read property 'weight' of undefined
Et quand je commenter .liens(connexions) le graphique rend (s'avance un tas de points dispersés à travers...) Comment puis-je obtenir les liens /liens de coopérer avec d3?
J'étais en train de lire la documentation, et apparemment la source et cible doivent être les INDICES des nœuds les nœuds tableau. Est-il de toute façon pour changer cela? Donc, je peux utiliser le nom d'un nœud plutôt que l'indice qu'il a dans un tableau?
Vous devez vous connecter pour publier un commentaire.
La force dirigée mise en page utilise le bord des poids pour calculer la mise en page. Essayez d'ajouter un mannequin
"weight":1
à toutes vos connexions.Le code qui initialise les liens ressemble à ceci:
Sans doute vous pourriez tweak qui (dans le d3 source) pour l'utiliser en toute propriété/type.
Je rencontre le même problème avant, c'est en raison de il est des valeurs null dans la source/cible de liens.
imprimer nœuds et liens information pourrait aider à déboguer
En plus des réponses mentionnant la valeur null dans la source/cible de liens, la raison pourrait en être l'attribution d'un en dehors de la plage de la source/cible. E. g. vous avez 10 nœuds et de vous attribuer la cible à la 11-ème indexé nœud.
Merci pour les réponses ci-dessus qui se réfèrent à la valeur null source ou cible les valeurs!
J'ai testé le graphe de http://bl.ocks.org/mbostock/4062045, et a constaté que mes données fait référence à un manque de nœud.
Cela peut aider les autres à déboguer cette question:
Je pense que vous pourriez avoir des valeurs null dans votre code source et de la cible. J'ai eu ce bug trop et il fixe en filtrant les valeurs null.
J'ai eu ce problème de pop up dans un certain nombre de façons. Plus récemment, j'ai eu mon bord liste comme suit:
au lieu de: