可视化工具--D3--案例分析--Reingold Tilford Tree
2016-08-10 22:32
531 查看
可视化工具–D3–案例分析
实例链接 http://bl.ocks.org/mbostock/4063550
部分接口:
separation:设置相隔结点之间的间隔计算函数
diagonal.radial:创建一个新的斜线生成器
projection:设置一个可选的点变换器
tree.nodes:计算并返回指定结点的子结点信息
tree.links:计算一个子结点数组与父结点的连接信息
创建树布局并定义布局信息:
定义线与点:
读取数据后计算节点层次信息:
添加节点:
加树中节点间连线:
添加文本信息:
Reingold Tilford Tree
Reingold Tilford树是由Edward Reingold和John Tilford一起提出并发表的一种大型树拓扑结构,用来紧凑分层的展示数据结构。
实例链接 http://bl.ocks.org/mbostock/4063550
部分接口:
separation:设置相隔结点之间的间隔计算函数
diagonal.radial:创建一个新的斜线生成器
projection:设置一个可选的点变换器
tree.nodes:计算并返回指定结点的子结点信息
tree.links:计算一个子结点数组与父结点的连接信息
创建树布局并定义布局信息:
var tree = d3.layout.tree() .size([360, diameter / 2 - 120]) .separation(function(a, b) { return (a.parent == b.parent ? 1 : 2) / a.depth; });
定义线与点:
var diagonal = d3.svg.diagonal.radial() .projection(function(d) { return [d.y, d.x / 180 * Math.PI]; });
读取数据后计算节点层次信息:
var nodes = tree.nodes(root), links = tree.links(nodes);
添加节点:
var node = svg.selectAll(".node") .data(nodes) .enter().append("g") .attr("class", "node") .attr("transform", function(d) { return "rotate(" + (d.x - 90) + ")translate(" + d.y + ")"; });
node.append("circle") .attr("r", 4.5);
加树中节点间连线:
var link = svg.selectAll(".link") .data(links) .enter().append("path") .attr("class", "link") .attr("d", diagonal);
添加文本信息:
node.append("text") .attr("dy", ".31em") .attr("text-anchor", function(d) { return d.x < 180 ? "start" : "end"; }) .attr("transform", function(d) { return d.x < 180 ? "translate(8)" : "rotate(180)translate(-8)"; }) .text(function(d) { return d.name; });
相关文章推荐
- 可视化工具--D3--案例分析--Chord Diagram
- 可视化工具--D3--案例分析--Scatterplot Matrix
- 可视化工具--D3--案例分析--Day/Hour Heatmap
- 可视化工具--D3--案例分析--Histogram Chart
- 【翻译】Gold与其它语法分析工具的比较
- 基于.net的好用的语法分析辅助工具:GOLD Parser(1)
- SegY地震体数据可视化分析工具 开发笔记 1
- SegY地震体数据可视化分析工具 开发笔记 5 数据切割和抽取
- SegY地震体数据可视化分析工具 开发笔记 4
- 可视化日志分析工具Gltail的安装与使用
- GlTail.rb : 超 Geek 的可视化日志分析工具 centos 6.3
- ajax心得3--编写ajax同用工具代码以及案例分析
- 数据之美,可视化日志分析工具--logstalgia
- GlTail.rb : 超 Geek 的可视化日志分析工具
- 22个免费的数据可视化和分析工具推荐
- 可视化日志分析工具 glTail
- 【翻译】语法分析工具Gold介绍(2)——基本开发方法
- 一只小小麻雀——基于语法分析工具Gold开发的加减法解释器
- SegY地震体数据可视化分析工具 开发笔记 2
- 可视化数据包分析工具-CapAnalysis