Ich versuche, ein kleines Vielfaches Diagramm zu machen, indem ich Mike Bostocks example folge.Wie übergebe ich gebundene Daten an eine Funktion in d3?
In diesem Beispiel wird enter().append("svg")
verwendet, um für jeden Datenpunkt ein neues SVG zu erstellen. In jedem SVG würden Sie dann das Diagramm erstellen.
Ich habe Daten, die in einer CSV-Datei, die wie folgt aussieht:
count, radius
15, 5
10, 3
Mit diesen Daten würde Ich mag zwei SVGs erstellen (eine für jeden Datenpunkt), mit dem ersten 15 enthält, Kreise mit jeweils einem Radius von 5, und die zweite Svg mit 10, jeweils mit einem Radius von 3. Ich habe eine Funktion drawCircles
, die ich verwenden möchte, um die Kreise basierend auf meinem Datensatz zu zeichnen, aber ich habe Probleme mit der Weitergabe der Daten bis zu meiner Funktion.
Hier ist mein Code:
d3.csv("nations.csv", function(data) {
var svg = d3.select("body").selectAll("svg")
.data(data)
.enter().append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);
drawCircles(function (d) {return +d.count;}, function (d) {return +d.radius;})
ich nicht passieren d.count
und d.radius
durch als Argument für meine drawCircles
Funktion scheinen kann. Kann mir bitte jemand helfen?
Ihre Daten scheinen im JSON-Format zu sein, aber Sie verwenden 'd3.csv()'? – ksav
Entschuldigung (wie gesagt sehr neu) - meine Daten befinden sich tatsächlich in einer CSV-Datei mit Spaltenüberschriften und Radius. War mir nicht sicher, wie ich meinen Datensatz beschreiben sollte. Ich habe meine Frage bearbeitet, um sie hoffentlich zu klären. – RobbieInOz
Wir müssen mehr Code sehen, um zu verstehen, was Sie zu tun versuchen. – ksav