d3.js——矩形分区图
2016-05-04 15:13
501 查看
/** * Created by Silence_C on 2016/5/4. */ var width = 600, height =400; var svg = d3.select("body").append("svg") .attr("width",width) .attr("height",height) .append("g"); var color = d3.scale.category20(); //数据转换 var partition = d3.layout.partition() .sort(null) .size([width,height]) .value(function(d){return 1})//表示分区大小的值。这里的意思是:如果数据文件中用 size 值表示结点大小,那么这里可写成 return d.size //读取数据并绘图 d3.json("city.json",function(error,root){ if (error) console.log(error); console.log(root); var nodes = partition.nodes(root), links = partition.links(nodes); console.log(nodes); ////开始画图 var rects = svg.selectAll("g") .data(nodes) .enter() .append("g") rects.append("rect") .attr("x", function (d) {return d.x; })//顶点的x坐标 .attr("y",function(d){return d.y; })//顶点的y坐标 .attr("width", function (d) {return d.dx;}) //顶点的宽度dx .attr("height",function(d){return d.dy;}) //顶点的高度dy .style("stroke","#fff") .style("fill",function(d){ return color((d.children ? d: d.parent).name); }) .on("mouseover",function(d){ d3.select(this) .style("fill","yellow") }) .on("mouseout",function(d){ d3.select(this) .transition() .duration(200) .style("fill",function(d){ return color((d.children?d: d.parent).name) }) }) rects.append("text") .attr("class","node_text") .attr("transform",function(d,i){ return "translate("+( d.x+20)+","+ (d.y+20)+")" }) .text(function (d,i) { return d.name; }) })
相关文章推荐
- js点击复制input内容
- js自调函数(function(){…})()立即执行函数写法理解
- JS字符串格式化
- fastjson生成json时Null属性不显示
- JSP取得绝对路径
- JS 获取 地址栏 参数
- JSP分页技术(jsp+servlet)
- JavaScript入门教程之引用类型
- js 判断js函数、变量是否存在
- json对象与数组以及转换成js对象的方法
- JS解析XML文件和XML字符串
- [Effective JavaScript 笔记] 第2条:理解JavaScript的浮点数
- javascript笔记——图片大小检测
- [JSP] c:forEach 如何输出序号
- wind.js助力异步编程
- 在JSP页面下使用AJAX实现用户名存在的检测
- JSONArray 数组 在不转为对象的情况下取出 某个元素组成列表
- 转 Js窗体window大小设置
- JS常见问题整理。
- three.js源码注释