text { stroke-width: 0px; }
// styling
chart.attr("stroke", "white")
If you remove that, and the other "stroke" attribute further down:
.attr("stroke", "black")
That should fix it. Text typically only needs a fill style.
Side note: it's normally better to use .style() for styling, as it takes
priority over stylesheets. If you use .attr(), a stylesheet can
potentially override it.
--
Jason Davies, http://www.jasondavies.com/
Right, "width" and "height" used in this way are not equivalent to the
CSS properties of the same name, they're "proper" attributes for the
<svg> element. SVG and CSS share many properties, but width and height
are not among them, see: http://www.w3.org/TR/SVG/styling.html
This advice only applies to the shared properties, which are indeed
mainly appearance attributes. It's good practice because you may end up
using a stylesheet and could waste a lot of time trying to work out why
your .attr() calls have stopped working!