@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.