@gilbert
In d3.js, you can pass complex data by using the data()
method along with a function to access the data values. Here is an example of how to pass complex data in d3.js:
1 2 3 4 5 |
var dataset = [ { name: "Alice", age: 30, gender: "Female" }, { name: "Bob", age: 35, gender: "Male" }, { name: "Charlie", age: 40, gender: "Male" } ]; |
1 2 3 |
var circles = d3.select("svg") .selectAll("circle") .data(dataset, function(d) { return d.name; }); |
1 2 3 4 5 6 7 8 9 10 11 12 |
circles.enter() .append("circle") .attr("cx", function(d, i) { return i * 50 + 50; }) .attr("cy", 50) .attr("r", function(d) { return d.age; }) .style("fill", function(d) { if (d.gender === "Male") { return "blue"; } else { return "pink"; } }); |
In this example, we are binding the dataset
to a selection of circles and using the data values to set the radius of the circles based on the age
property and the fill color based on the gender
property.
By using the data()
method and a key function, you can easily pass and access complex data in d3.js for creating visualizations.