有點的網格線。如何更好地組織網格線?
是否有另一種更好的性能解決方案,因爲如果我添加了許多svg元素(例如矩形,圓形,路徑)並增加了網格的維度,我將在使用縮放,移動元素時看到凍結效果。 。
網格的大小發生了變化。
另外,如何創建無限的網格線,而不是有限的(gridCountX,gridCountY)?
感謝
var svg = d3.select("body").append("svg");
var svgG = svg.append("g");
var gridLines = svgG.append("g").classed("grid-lines-container", true).data(["gridLines"]);
var gridCountX = _.range(100);
var gridCountY = _.range(100);
var size = 10;
gridLines.selectAll("g").data(gridCountY)
.enter()
.append("g")
.each(function(d) {
d3.select(this).selectAll("circle").data(gridCountX).enter()
.append("circle")
.attr("cx", function(_d) {return _d*size;})
.attr("cy", function(_d) {return d*size;})
.attr("r", 0.5)
.attr("style", function() {
return "stroke: black;";
});
});
var zoomSvg = d3.zoom()
.scaleExtent([1, 10])
.on("zoom", function(){
svgG.attr("transform", d3.event.transform);
});
svg.call(zoomSvg);
svg {
width: 100%;
height: 100%;
border: 1px solid #a1a1a1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://d3js.org/d3.v4.min.js"></script>
您的問題詢問網格線,但您的示例代碼是點的集合? – ColinE
這是網格線(例如,可能是線而不是點)。其中存在問題的癥結所在:找到一個不會影響性能的解決方案 –