如果您查看具有宽度和高度属性以及viewBox属性设置的此jsbin SVG图像:
var width = width + margin.left + margin.right;
var height = height + margin.top + margin.bottom;
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.attr('viewBox', '0 0 ' + width + ' ' + height)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
然后,svg根本不会缩放。
但是,如果我注释掉宽度和高度属性,那么它似乎会像这个bin中的那样缩放。
我对viewBox属性感到非常困惑,我在网上看到很多示例都设置了宽度、高度和viewBox属性。当存在宽度和高度属性时,我认为viewBox属性被否定。
我也对viewBox的宽度和高度属性实际上对应于实际空间感到困惑。
文档说你正在指定自己的坐标系,但我不明白这意味着什么以及宽度和高度如何对应于文档的实际宽度和高度。