У меня есть разборное дерево D3, проблема в том, что один узел может иметь до 4000 листов. Я хотел бы сделать его прокручиваемым или расширяемым, т. Е. Высота должна работать как для 10 листовых узлов, так и для нескольких 1000.D3 Складное дерево, как сделать его вертикально прокручиваемым
В настоящее время мой параметр высоты является статическим, может ли кто-нибудь сказать мне, как я могу сделать его динамичным?
Ниже приведен код:
$(function(){
var m = [20, 120, 20, 120],
w = 1280 - m[1] - m[3],
h = 80000 - m[0] - m[2],
i = 0,
root;
var tree = d3.layout.tree()
.size([h, w]);
var diagonal = d3.svg.diagonal()
.projection(function(d) { return [d.y, d.x]; });
var vis = d3.select("#modelPatterns").append("svg:svg")
.attr("width", w + m[1] + m[3])
.attr("height", h + m[0] + m[2])
.append("svg:g")
.attr("transform", "translate(" + m[3] + "," + m[0] + ")");
d3.json("./static/data/type1Tree.json", function(json) {
root = json;
root.x0 = h/2;
root.y0 = 0;
function toggleAll(d) {
if (d.children) {
d.children.forEach(toggleAll);
toggle(d);
}
}
// Initialize the display to show a few nodes.
root.children.forEach(toggleAll);
//toggle(root.children[1]);
//toggle(root.children[1].children[2]);
//toggle(root.children[9]);
//toggle(root.children[9].children[0]);
update(root);
});