2019独角兽企业重金招聘Python工程师标准>>>

因为我的需求是需要有图例,所以pie图的创建用的是封装好的pie图制作工具生成的,图例是自己添加的,以后我会写一篇用代码写出pie图的文章,敬请期待。

1、效果

2、html页面

 <div id="pieEquips"></div>

3、js

<script src="~/Scripts/d3.v3.min.js"></script> //d3.js必须引用的
<script src="~/Scripts/d3/d3pie.js"></script>  //官网上封装好的pie图的js
// 调用方法传递图数据
grid.load(obj, function (result) {if (result.total > 0) {//grid.setData(mini.decode(result.data));//grid.setTotalCount(result.total);pieEquips(result.result.pieData, dimension);pieValue(result.result.pieData, dimension);} else {mini.alert("没有查询到相关数据,请重新筛选!");}
}, function (e) {mini.alert("出现错误,请重新查询!");
});
//台数pie图的创建function pieEquips(data, chartName) {$('#pieEquips').html('');// 处理json数据var pieData = [];for (var i = 0; i < data.length; i++) {pieData.push({label: data[i].CodeName,value: data[i].Number});}// pie图配置,这个事官网上封装好的pie图制作工具生成的配置文件,有些地方需要修改var pie = new d3pie("pieEquips", {header: {title: {text: "按" + chartName + ":台数"}},size: {"canvasHeight": 400,"canvasWidth": 500},data: {content: pieData},labels: {outer: {"format": "none",}},misc: {canvasPadding: {//top: 0,right: 100,//bottom: 0,//left: 0}},tooltips: {enabled: true,type: "placeholder",string: "{label}: {value}台-{percentage}%",styles: {fadeInSpeed: 500,backgroundColor: "#00cc99",backgroundOpacity: 0.8,color: "#ffffcc",borderRadius: 4,font: "verdana",fontSize: 20,padding: 20}}});// 下面的代码就是我在生成的pie图之上,获取svg整个图对象,然后添加图例和名称,其实只要//学好d3.js的api方法,什么样的图都能画出来,当然这很难。var temp = 30; //高度增量var svg = d3.select("#pieEquips svg"); //获取饼图对象// 添加legendsvg.append("g").selectAll(".legendRect").data(pie.options.colors).enter().append("rect").attr("class", "legendRect").attr("x", function() { return pie.options.size.canvasWidth - 100; }).attr("y", function() { temp = temp + 20;return temp; }).attr("width", 10).attr("height", 10).style("fill", function(d) { return d; });// 添加legend名称temp = 38;svg.append("g").selectAll(".legendText").data(pie.options.data.content).enter().append("text").attr("class", "legendText").attr("x", function(d) { return pie.options.size.canvasWidth - 60; }).attr("y", function(d) { temp = temp + 20;return temp; }).attr("dx", ".35em").attr("dy", 0).attr("text-anchor", "middle")//默认左对齐,middle中对齐,end右对齐.text(function(d) { return d.label; });}

转载于:https://my.oschina.net/u/1416844/blog/368924

d3.js——饼状图相关推荐

  1. D3.js 饼状图的制作

    1.数据 有如下数据,需要可视化: var dataset = [ 30 , 10 , 43 , 55 , 13 ]; 这样的值是不能直接绘图的.例如绘制饼状图的一个部分,需要知道一段弧的起始角度和终 ...

  2. 数据可视化—D3直方图二叉树饼状图等(持续更新...)

    文章目录 前言 一.JSBin实现直方图 二.JSBin实现二叉树&文字二叉树 1.二叉树: 2.文字二叉树 三. D3实现直方图 四.D3实现饼状图 五.力导向图 前言 数据可视化小组作业整 ...

  3. d3.js v5 饼状图(加载动画、悬浮动画、图注以及悬浮提示框)

    实现的效果大概是这样: 实现代码如下: <html><body></body><style>div{background: #F2F4FF;width: ...

  4. D3.js 第13课 饼状图

    本文制作一个饼状图. 在布局的应用中,最简单的就是饼状图,通过本课您将对布局有一个初步了解. 数据 var dataset = [ 30 , 10 , 43 , 55 , 13 ]; 这样的值是不能直 ...

  5. D3.js的v5版本入门教程(第十三章)—— 饼状图

    D3.js的v5版本入门教程(第十三章) 这一章我们来绘制一个简单的饼状图,我们只绘制构成饼状图基本的元素--扇形.文字,从这一章开始,内容可能有点难理解,因为每一章都会引入比较多的难理解知识点,在这 ...

  6. 饼状图的实现方法html,D3.js实现饼状图的方法详解

    前言 小编在之前已经跟大家分享过关于怎样用柱状图和折线图这两种基本图表.这两种图表都是有坐标轴的,现在来说一种没有坐标轴的图表--饼图. 饼状图实现 还是和之前一样,我们先把简单的画图框架搭起来,添加 ...

  7. D3.js系列——布局:饼状图和力导向图

    一.饼状图 在布局的应用中,最简单的就是饼状图. 1.数据 有如下数据,需要可视化: var dataset = [ 30 , 10 , 43 , 55 , 13 ]; 这样的值是不能直接绘图的.例如 ...

  8. D3.js上手——饼状图

    饼状图是数据统计中经常用到的另一类图表,饼图可以直观地显示一个数据系列中各项的大小与各项总和的比例,本文将使用D3上手制作一个简单的饼状图 什么是布局 布局是D3中非常重要的内容,有了布局D3才能画出 ...

  9. AngularJS in Action读书笔记5(实战篇)——在directive中引入D3饼状图显示

    前言: "宁肯像种子一样等待  也不愿像疲惫的陀螺  旋转得那样勉强" 这是前几天在查资料无意间看到的一位园友的签名,看完后又读了两遍,觉得很有味道.后来一寻根究底才知这是出资大诗 ...

  10. js实现反恐精英+曲线图+饼状图

    js 画出几十种矢量图 raphaeljs 超炫丽的动画效果 js矢量图,你见过这么绚丽的效果吗? 1.旋转图片动画效果 ---- js 画图 raphaeljs  http://raphaeljs. ...

最新文章

  1. Spark2 ML 学习札记
  2. 0/0型极限等于多少_求极限时是否可以进行代入?
  3. sota如何创建作业及配置作业文件详解(章节5)
  4. C#编程利器系列文章
  5. [PWA] Show Notifications when a Service Worker is Installed or Updated
  6. C++ primer 1.2 初窥输入输出流
  7. python123第一周测试作业指导书_2017年我的第一周总结
  8. android笔记3:activity的生命周期(转)
  9. 音视频技术开发周刊 70期
  10. 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
  11. 基于Xilinx FPGA实现PCIE2.0接口
  12. 微信喊你来找工作:上千家企业将提供超10万个就业岗位
  13. html的动画效果实现无限轮播,利用 CSS3 实现的无缝轮播功能代码
  14. 智能感知与万物互联学术讲座
  15. 四级信息安全工程师考试大纲
  16. 软件工程导论学习笔记
  17. 为Windows 7的winsxs文件夹瘦身,慎重。
  18. Matlab帮助文档设置
  19. 市值暴跌7成,马斯克急了:特斯拉是最有价值的公司!
  20. python 向上、向下、四舍五入取整方法 round圆整

热门文章

  1. 每日学习笔记(17)
  2. 如何禁止开机时进入安全模式
  3. 天啊!才几天没去看新闻,WinCE就有这么“爆炸”的新闻了?
  4. VPP:Bihash简介
  5. Android 开机充电图标和充电动画
  6. Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
  7. per_cpu机制的详解
  8. Linux虚拟文件系统之文件系统安装(sys_mount())
  9. L2-020. 功夫传人(STL+深搜)
  10. 优先队列+哈夫曼树(Fence Repair)