Shreeram, thank you for your comments. D3 creates elements with the "axis" class. The CSS does indeed apply to the axes elements. When I change, for example, "stroke-width: 1px;" to "stroke-width: 10px;", I get 10 pixel wide axes lines.
Kai, thank you for pointing out the behavior of crisp-edges. It seems that this makes crisp-edges unusable for getting consistent 1 pixel lines.
From these replies and everything I have tried, it seems impossible to get axis lines to draw as 1 pixel wide, and impossible to get a rectangle to always draw with a 1 pixel border (with D3 and SVG in Chrome). Can this be true? Has anyone faced a similar issue before and found a solution? Are there any other approaches for 1-pixel lines besides CSS crisp-edges?
I suppose my best option here is to give up the idea of crispness in my visualization and just use the anti-aliased version of everything, which does not look good, but is better than random glitches.
On another note, the stacked areas are not on the bottom and I'm not sure why. Can anyone see where I'm going wrong?
Thank you for your replies.
Best regards,
Curran