Very nice, I'll be definitely looking into it closer. [1] seems to have a bug. When you disable a particular line by clicking it on the graph legend, if you attempt to disable another line you end up re-enabling the first one. http://novus.github.com/nvd3/ghpages/line.html
Not a bug, I did this by design. When you try to disable the last series, all series become enabled. There's no point, IMO, of disabling all series.
Let's say I play around with some series A, B, C and D. I disable all except B and then realize that I want to see only A instead. So now I have two options, that IMO should lead to the same final state: I can either disable B and enable A, or enable A and disable B. In current implementation, the first option leads to re-enabling all series, while second option leads to desired state of having only series A visible. Now one of those two proposed actions may seem redundant until you realize that the choice between them depends on subconsciously analyzed things like mouse position ("is my mouse closer to series A or series B?") and having both available would, in my opinion, help in keeping user in the flow.
I understand it's only a minor issue. Current implemetation is more complex in philosophical sense that it does Surprising Magic instead of the Obvious Thing, and that bugs me just a little.
Or maybe I'm just whining because I got used to how HighCharts.js does this. ;).