惊艳的D3图表效果
来源:互联网 发布:剑灵南素柔捏脸数据 编辑:程序博客网 时间:2024/04/27 17:20
源代码:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/><script type="text/javascript" src="http://mbostock.github.com/d3/talk/20111018/d3/d3.js"></script><script type="text/javascript" src="http://mbostock.github.com/d3/talk/20111018/d3/d3.geom.js"></script><script type="text/javascript" src="http://mbostock.github.com/d3/talk/20111018/d3/d3.layout.js"></script><link type="text/css" rel="stylesheet" href="http://mbostock.github.com/d3/talk/20111018/style.css"/><style type="text/css">circle {stroke: #000;stroke-opacity: .5;}</style></head><body><div id="body"><div id="footer">你能逮到我么?<div class="hint">快来追我呀</div></div></div><script type="text/javascript">var w = 1280,h = 800;var nodes = d3.range(200).map(function() { return {radius: Math.random() * 12 + 4}; }),color = d3.scale.category10();var force = d3.layout.force().gravity(0.05).charge(function(d, i) { return i ? 0 : -2000; }).nodes(nodes).size([w, h]);var root = nodes[0];root.radius = 0;root.fixed = true;force.start();var svg = d3.select("#body").append("svg:svg").attr("width", w).attr("height", h);svg.selectAll("circle").data(nodes.slice(1)).enter().append("svg:circle").attr("r", function(d) { return d.radius - 2; }).style("fill", function(d, i) { return color(i % 3); });force.on("tick", function(e) {var q = d3.geom.quadtree(nodes),i = 0,n = nodes.length;while (++i < n) {q.visit(collide(nodes[i]));}svg.selectAll("circle").attr("cx", function(d) { return d.x; }).attr("cy", function(d) { return d.y; });});svg.on("mousemove", function() {var p1 = d3.svg.mouse(this);root.px = p1[0];root.py = p1[1];force.resume();});function collide(node) {var r = node.radius + 16,nx1 = node.x - r,nx2 = node.x + r,ny1 = node.y - r,ny2 = node.y + r;return function(quad, x1, y1, x2, y2) {if (quad.point && (quad.point !== node)) {var x = node.x - quad.point.x,y = node.y - quad.point.y,l = Math.sqrt(x * x + y * y),r = node.radius + quad.point.radius;if (l < r) {l = (l - r) / l * .5;node.x -= x *= l;node.y -= y *= l;quad.point.x += x;quad.point.y += y;}}return x1 > nx2|| x2 < nx1|| y1 > ny2|| y2 < ny1;};}</script></body></html>
其它 html 示例
- 惊艳的D3图表效果
- d3图表中饼图的使用示例
- 一些基于 D3.js 的图表库
- d3.js-做一个简单的图表
- 仅仅25K的actionscript3惊艳效果。
- 效果惊艳的代码编辑字体推荐
- 10款效果惊艳的HTML5应用
- D3.JS 基于javascript的图表展示库<七>
- 【 D3.js 入门系列 --- 3 】 做一个简单的图表!
- 做动画用jQuery,做炫酷的图表用d3.js
- d3.js——面积图表的制作
- d3.js—— 绘制二维数组的动态图表
- d3.js学习4----做一个简单的图表
- d3.js学习6----完整的条形图表
- React 和 D3 构建的图表库 Recharts
- 15个拥有惊艳效果的HTML5和CSS3体验
- 15个拥有惊艳效果的HTML5和CSS3体验
- 10款效果惊艳的HTML5应用和源码
- Android 开源项目UI库及组件资源
- oracle sequence ( 序列) 详细解释
- Lucene 索引
- MongoDB学习笔记(一) MongoDB介绍及安装
- Google_三大论文中文版(Bigtable、 GFS、 Google MapReduce)
- 惊艳的D3图表效果
- 滤波电容容值与所滤噪声频率的关系
- SAP&Java WebService(三) ----JAVA调用SAP生成的WebService
- jstl中的日期格式化
- SoapUI offen use script
- Linux列表命令ls
- Android 线程池管理
- 解决:margin-top导致内容在IE6中下沉
- Activity的启动流程