I'm not sure how you're drawing the nodes exactly, but if that library allows selecting a node you could navigate by click then just reload based on the new base node.
Getting a dataset of 2 million nodes would be messy (and big, you'd probably want to build this in one program, then render it in another).