Можно и на d3.js, можно и на svg.js (на главной странице
https://svgjs.com сразу же пример с динамическим изменением текста (внизу)), можно и самому написать, но не совсем понятно, что на выходе вы хотите получить (простейшие манипуляции над встроенным svg не сложнее самому написать, чем разбираться с d3js).