Ich möchte ein Netzwerk mit d3.js erstellen. Ich habe einen erstellt, wie Sie unten sehen, aber ich möchte, dass die Knotengröße von der Anzahl der Verbindungen abhängt, die jeder Knoten hat (je mehr Verbindungen ein Knoten hat, desto größer ist die Größe des Knotens, umgekehrt). Unten ist der JS, den ich für die Knoten geschrieben habe.D3 Javascript Netzwerk: Wie parametriere Knotengröße mit der Anzahl der Links?
Wie ändere ich die Knotengröße mit der Anzahl der Links?
var nodes = graph.nodes.slice(),
links = [],
bilinks = [];
graph.links.forEach(function(link) {
var s = nodes[link.source],
t = nodes[link.target],
i = {}; // intermediate node
nodes.push(i);
links.push({source: s, target: i}, {source: i, target: t});
bilinks.push([s, i, t]);
});
var node = svg.selectAll(".node")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node")
.attr("r", 3)
.style("fill", function(d) { return color(d.group); })
Und was ist das Problem? Ist dir '.attr (" r ", 3)' line aufgefallen? Er legt die Radien von Kreisen auf 3 fest. Wenn Sie eine Abhängigkeit vom aktuellen Knoten benötigen, ersetzen Sie 3 durch eine Funktion, die den Radius für aktuelle Daten berechnet. –
Natürlich weiß ich das. Ich brauche eine Funktion, die die Anzahl der Links jedes Knotens zählt. Und dann kann ich 3 durch diese Funktion ersetzen. Das Schreiben der Funktion ist das Problem, nach dem ich frage. – KIM
Schreiben Sie etwas für mich nicht gut in SO-Format. SO ist Q & A-Site, nicht Codierungsdienst. Abstimmung zum Schließen. –