D3系列第五弹——绘制树状图
来源:互联网 发布:淘宝新店铺有扶持吗 编辑:程序博客网 时间:2024/05/21 11:32
json数据集:
{ "name":"中国", "children": [ { "name":"浙江" , "children": [ {"name":"杭州" }, {"name":"宁波" }, {"name":"温州" }, {"name":"绍兴" } ] }, { "name":"广西" , "children": [ { "name":"桂林", "children": [ {"name":"秀峰区"}, {"name":"叠彩区"}, {"name":"象山区"}, {"name":"七星区"} ] }, {"name":"南宁"}, {"name":"柳州"}, {"name":"防城港"} ] }, { "name":"黑龙江", "children": [ {"name":"哈尔滨"}, {"name":"齐齐哈尔"}, {"name":"牡丹江"}, {"name":"大庆"} ] }, { "name":"新疆" , "children": [ {"name":"乌鲁木齐"}, {"name":"克拉玛依"}, {"name":"吐鲁番"}, {"name":"哈密"} ] } ]}
HTNL文件程序:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>D3Study</title> <script type="text/javascript"src="D3/d3.min.js"></script> <style> .MyText { fill: white; text-anchor: middle; } </style></head><body><div id="tree" style="height: 400px;background-color:beige"></div></body><script type="text/javascript" src="D3/Tree.js"></script></html>
JS文件程序:
/** * Created by sdy on 2017/1/23. */var width = 400, height = 400;var tree = d3.layout.tree() .size([width, height-200]) .separation(function(a, b) { return (a.parent == b.parent ? 1 : 2); });var diagonal = d3.svg.diagonal() .projection(function(d) { return [d.y, d.x]; });var svg4 = d3.select("#tree").append("svg") .attr("width", width) .attr("height", height) .append("g") .attr("transform", "translate(40,0)");d3.json("Data/TreeData.json", function(error, root) { var nodes = tree.nodes(root); var links = tree.links(nodes); console.log(nodes); console.log(links); var link = svg4.selectAll(".link") .data(links) .enter() .append("path") .attr("class", "link") .attr("d", diagonal); var node = svg4.selectAll(".node") .data(nodes) .enter() .append("g") .attr("class", "node") .attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }) node.append("circle") .attr("r", 4.5); node.append("text") .attr("dx", function(d) { return d.children ? -8 : 8; }) .attr("dy", 3) .style("text-anchor", function(d) { return d.children ? "end" : "start"; }) .text(function(d) { return d.name; });});
最终效果:
阅读全文
0 0
- D3系列第五弹——绘制树状图
- D3系列第一弹——绘制饼图
- D3系列第三弹——绘制力导向图
- D3系列第四弹——绘制气泡图
- d3.js——树状图的绘制
- D3系列第二弹——绘制柱状图
- 【 D3.js 进阶系列 — 4.0 】 绘制箭头
- d3.js——绘制力学图
- d3.js——绘制打包图
- 【 D3.js 入门系列 --- 9.5 】 树状图的制作
- d3.js——弦图的绘制
- d3.js——集群图的绘制
- d3.js——绘制饼状图
- d3.js——绘制静态中国地图
- d3.js——绘制动态中国地图
- d3.js——箭头的绘制
- D3实现TREE树状图
- D3实现TREE树状图
- NYOJ203-三国志
- centos7 下安装redis并且整合PHP7
- QTime
- AbstractQueuedSynchronizer:独占锁
- 1578: [Usaco2009 Feb]Stock Market 股票市场
- D3系列第五弹——绘制树状图
- 1927: [Sdoi2010]星际竞速
- Hadoop mapper类的阅读
- 王爽汇编语言 检测点11.4
- P--运(lucky)
- 1144. 陶陶摘苹果
- [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
- c++基础之字符串
- maven常用命令介绍