d3.js——绘制饼状图
2016-04-25 15:25
781 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>饼状图</title> </head> <body> <script src = "d3.js"></script> <script src = "js/bing.js"></script> </body> </html>
/** * Created by Silence_C on 2016/4/25. */ var width = 600, height = 600; var dataset = [30,10,43,55,13]; var svg = d3.select("body").append("svg") .attr("width",width) .attr("height",height) var pie = d3.layout.pie(); //用做弧线的方法来作饼状图,因为弧线有粗细,调整粗细就能变成饼状图 var outerRadius = width/ 2, innerRadius =150; var arc = d3.svg.arc() .innerRadius(innerRadius) .outerRadius(outerRadius); var color = d3.scale.category10();//构造一个有10种颜色的序数比例尺 var arcs = svg.selectAll("g") .data(pie(dataset))//通过 D3中提供的d3.layout.pie()函数将它转换成角度。这里5个整数被转换成了5个 Object ,每个里面存有起始角度和结束角度,以及原整数 .enter() .append("g") .attr("transform","translate("+outerRadius+","+outerRadius+")"); arcs.append("path") .attr("fill",function(d,i){ return color(i); }) .attr("d",function(d){ return arc(d); //绘制圆环 }) arcs.append("text") .attr("transform", function (d,i){ return "translate("+arc.centroid(d)+")"//获取弧中心:内外半径和开始结束角度的极坐标系的中心点 }) .attr("text-anchor","middle") .text(function(d){ return d.value; //这里可以输出查看一下pie(dataset)函数执行后的数据格式,可以知道我们所需要的是它的value值 })
运行结果如下图:
相关文章推荐
- 关于JS中的显示和隐藏
- 身份证 护照等js校验
- js去除数组中重复的数字
- 按钮宽度和高度固定,字体大小根据字数自适应用的javascript实现
- JSP简单介绍
- JavaScript弹出新窗口的方法
- 翻译:谷歌HTML、CSS和JavaScript风格规范
- JSP基础整理
- 修改jsp页面标题左边的图标
- 使用Jackson的@JsonFormat注解时出现少八个小时
- javaScript 正则表达式匹配日期
- 移动web滑动效果Swipe JS插件
- JS设置弹出小窗口。
- 基于 phantomjs 的自动化测试---(1)
- 报表软件JS开发引用HTML DOM的location和document对象
- JavaScript中发布/订阅模式的简单实例
- JavaScript基础
- JavaScript 获取鼠标点击位置坐标
- js的一个有意思的小题,闭包解决getElementByTagName的for循环绑定事件错误问题
- WEB页面JS实现一键拨号的电话拨打功能