D3系列第四弹——绘制气泡图
来源:互联网 发布:surface软件推荐 编辑:程序博客网 时间:2024/05/21 15:07
不知道怎么说,只知道怎么写。先发出来,以后在仔仔细细的重构文章吧。
数据集:
{"children":[{ "name": "D3.js", "weight": 100 },{ "name": "Echarts.js", "weight": 77 },{ "name": "JavaScript", "weight": 70 },{ "name": "C/C++", "weight": 66 },{ "name": "Java", "weight": 66 },{ "name": "PHP", "weight": 56 },{ "name": "Ruby", "weight": 69 },{ "name": "Python", "weight": 73 },{ "name": "Windows", "weight": 44 },{ "name": "Linux", "weight": 90 },{ "name": "Unix", "weight": 85 },{ "name": "JSON", "weight": 40 },{ "name": "XML", "weight": 20 },{ "name": "JQuery", "weight": 44 },{ "name": "AngularJS", "weight": 44 },{ "name": "ajax", "weight": 20 },{ "name": "Node.js", "weight": 78 },{ "name": "Go", "weight": 54 },{ "name": "Swift", "weight": 24 },{ "name": "HTTP", "weight": 8 },{ "name": "Android", "weight": 14 },{ "name": "iOS", "weight": 10 }]}
HTML文件程序:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>D3Study</title> <script type="text/javascript"src="D3/d3.min.js"></script> <style> .bubble circle{ stroke: black; stroke-width: 2px; } .bubble text{ fill: black; font-size: 14px; font-family: arial; text-anchor: middle; } </style></head><body><div id="bubble" style="height: 400px;background-color:#a9fdff"></div></body><script type="text/javascript" src="D3/Bubble.js"></script></html>
JS文件程序:
var width = 400;var height = 400;var svg3 = d3.select("#bubble") .append("svg") .attr("width", width) .attr("height", height);var pack = d3.layout.pack() .size([ width, height ]) .sort(null) .value(function(d){ return d.weight; }) .padding(2);d3.json("Data/BubbleData.json",function(error, root){ var nodes = pack.nodes(root); console.log(nodes); var color = d3.scale.category20c(); var bubbles = svg3.selectAll(".bubble") .data(nodes.filter(function(d) { return !d.children; })) .enter() .append("g") .attr("class","bubble"); bubbles.append("circle") .style("fill",function(d,i){ return color(i); }) .attr("cx",function(d){ return d.x; }) .attr("cy",function(d){ return d.y; }) .attr("r",function(d){ return d.r; }); bubbles.append("text") .attr("x",function(d){ return d.x; }) .attr("y",function(d){ return d.y; }) .text(function(d){ return d.name; });});
最终效果:
阅读全文
0 0
- D3系列第四弹——绘制气泡图
- D3系列第一弹——绘制饼图
- D3系列第三弹——绘制力导向图
- D3系列第五弹——绘制树状图
- D3系列第二弹——绘制柱状图
- 【 D3.js 进阶系列 — 4.0 】 绘制箭头
- d3.js——绘制力学图
- d3.js——绘制打包图
- d3.js——弦图的绘制
- d3.js——集群图的绘制
- d3.js——树状图的绘制
- d3.js——绘制饼状图
- d3.js——绘制静态中国地图
- d3.js——绘制动态中国地图
- d3.js——箭头的绘制
- 【 D3.js 进阶系列 — 2.2 】 力学图的参数
- 【 D3.js 进阶系列 — 3.0 】 分区图
- 【 D3.js 进阶系列 — 3.1 】 圆形分区图
- react 环境快速搭建
- Turtlebot3入门手册之七:SLAM和导航
- Python入门学习之汉诺塔的移动问题
- 7、数据结构笔记之七栈的应用之数制转换
- 2017 ACM-ICPC 亚洲区(沈阳区)网络赛
- D3系列第四弹——绘制气泡图
- PH代码审计常用工具
- VC中的双缓冲绘图技术
- C++虚函数理解(一)
- [ICLR2016]All You Need is a Good Init
- 8、数据结构笔记之八栈的应用之括号匹配检验实现
- C++/C++11中std::numeric_limits的使用
- 基于IF-IDF对文本向量化
- 小学期 蜜汁序列