- 数据扁平化处理
prepareData(rawData) { const seriesData = []; let maxDepth = 0; function eachOption(level, depth) { var arr = []; let maxDepth = 0; function refining(level, arr, depth) { const length = level.length; maxDepth = Math.max(depth, maxDepth); for (var i = 0; i < length; i++) { arr.push({ id: level[i].id, value: level[i].name, index: length, code: level[i].domainCode, parentId: level[i].superId, depth: depth }); if (level[i].children) { refining(level[i].children, arr, depth + 1); } } } refining(level, arr, 1); return { seriesData: arr, maxDepth: maxDepth }; } let data = eachOption(rawData.children, 0); data.seriesData.unshift({ id: 7, value: "subject", index: 0, depth: 0 }); return data; },
- 将扁平化数据处理成对d3气泡图所需要的Node数据
function stratify() { return d3 .stratify() .parentId(function(d) { return d.parentId; })(seriesData) .sum(function(d) { return d.id; }) .sort(function(a, b) { return b.id - a.id; }); } console.log(displayRoot, "displayRoot"); function overallLayout(params, api) { var context = params.context; d3 .pack() .size([api.getWidth() - 2, api.getHeight() -
d3气泡图(根据Echars官网代码修改)
最新推荐文章于 2024-07-26 11:41:15 发布