I am going to set various css styles on an svg element, and was thinking I could do something like
d3.selectAll(".whatever")
.style(function(d) { return {"color":getColor(d), "background":getBackground(d)}});
Now, this doesn't work, but I'm wondering if I can do something similar to centralize setting overall style properties rather than set style properties individually.
Note: as Ray suggested, you can do something like this (I'm assuming you've already got data attached to the nodes):
d3.selectAll(".whatever")
.attr("style",function(d) {
return cssStyleStringYouWantToUse(d);
});
select() function in D3. js is used to select the first element that matches the specified selector string. If any element is not matched then it returns the empty selection. If multiple elements are matched with the selector then only the first matching element will be selected.
var circle = d3. selectAll("circle"); With a selection, we can make various changes to selected elements.
SVG stands for Scalable Vector Graphics. SVG is an XML-based vector graphics format. It provides options to draw different shapes such as Lines, Rectangles, Circles, Ellipses, etc. Hence, designing visualizations with SVG gives you more power and flexibility.
append() function is used to append a new element to the HTML tag name as given in the parameters to the end of the element. If the type that is given is a function then it must be evaluated for each element that is in the selection. Syntax: selection.
Only works on D3 v3:
To quote the documentation:
If you want to set several style properties at once, use an object literal like so:
selection.style({'stroke': 'black', 'stroke-width': 2})
This isn't possible with functions though, so in your case you still have to use the "long form".
You can specify a separate function for each style name in the style literal, like so:
d3.selectAll(".whatever").style({
color: function(d) { return getColor(d); },
background: function(d) { return getBackground(d); }
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With