Ich möchte den Knotenstil basierend auf seiner Größe ändern. In dem gegebenen Beispiel möchte ich Knoten rot markieren, der Zoomfaktor liegt unter 0,5, ansonsten die Gruppenfarbe verwenden. Ich habe den folgenden Code versucht, aber er gibt eine Fehlermeldung zurück: null ist kein Objekt (d3.event.transform). Nach dem Fehlercode, denke ich d3.event.transform ist noch nicht initialisiert.Wie wird der Knotenstil beim Zoomen aktualisiert?
Gibt es eine Möglichkeit, den Zoomfaktor innerhalb der Node-Style-Funktion zu erhalten?
var node = pane.append("g")
.attr("class", "nodes")
.selectAll("circle")
.data(graph.nodes)
.enter().append("circle")
.attr("class", "node")
.attr("r", function(d) { return d.value*5 })
.style("fill", function(d) {
return (d3.event.transform.k < 0.5) ? "red": color(d.group);
});
Würde es Ihnen etwas ausmachen, ein Code-Snippet, ein JSfiddle oder etwas Ähnliches zu erstellen, um es Ihnen leichter zu machen, Ihnen zu helfen? vgl. https://stackoverflow.com/help/mcve –