I have several different NVD3 charts that I call upon in the same svg. I use buttons to call functions, each containing a new chart that uses its own data.
NVD3
If you are developing a dashboard having multiple widget showing different d3 charts then use the following
d3.selectAll("#d3-donutChart > *").remove();
this will only clear the specific chart, not all the svg's in the webpage.
Add this line just after subscribing to data in angular 2.