Мне удалось сделать SVG отзывчивым, используя окно просмотра следующим образом:
var svg = d3.select("#vis").append("svg")
.attr("width", "100%")
.attr("height", "100%")
.attr("viewBox", "0 0 960 500")
.attr("preserveAspectRatio", "none");
Он отзывчивый и становится меньше по мере уменьшения размера экрана. Единственная проблема заключается в том, что SVG слишком велик при загрузке на максимальном экране. Могу ли я установить максимальный размер? Таким образом, он не становится слишком большим, когда достигает максимального размера, даже если экран большой.