D3

D3的知识体系

1) 选择集、数据绑定、dom操作.

2)比例尺和坐标轴.

3)绘制(几种生成器).

a)线段生成器.    
b)区域生成器.      
c)弧生成器.    
d)符号生成器.  
e)弦生成器.    
f)对角线生成器.    

选择集

d3.select('p');  只会选择住一个p标签
d3.selectAll('p') 会选中所有的p标签

将数据和dom一一对应(此时p标签和arr个数对应)

var p = d3.selectAll('p');
var arr= [3,6,9];
var update = p.data(arr)
update.text(d=>d); 
//将arr插入p标签中;

将数据和dom一一对应(此时p标签和arr个数不对应)

 var p = d3.selectAll('p');
var arr= [3,6,9,12,15];
var update = p.data(arr)
update.text(d=>d); 
此时12就不会被渲染进去;

当数据(数组)的长度大于dom的长度时,多的这部分组成的集合就叫做enter

dom少了需要添加补足
var enter=update.enter();
enter.append('p')
.text(d=>d)

当数据(数组)的长度小于dom的长度时,dom多的这部分就叫做exit

dom多了需要删除
var exit = update.exit();
exit.remove();

dom操作

-(1) attr()

  • (2) append()
  • (3) insert()

加载数据

d3.json(url,callback);

树图入门

1)树图api

a) d3.layout.tree() 创建你一个树形布局

b) tree.size([]) 设置宽高

c) tree.separation([separation]) 设置相邻节点间隔

d) tree.nodes(root) 根据root计算 获取节点数组

e) tree.links(nodes). 根据nodes计算 获取连线数组

2) 节点对象(nodes),包含以下属性

a) parent:父节点

b) children:子节点

c) depth:节点深度

d) x:节点的x坐标

e) y:节点的y坐标

3) 节点的连线(links)对象,包含以下属性

a) source:前端节点

b) target:后端节点

实现步骤

1.选中页面设置svg绘制区域的宽和高添加g元素 设置位置

2. 生成树状布局 设置尺寸

3. 对角线生成器

4. 请求数据

4.1 获取nodes节点数组。和link连接线数组

4.2 生成连线

4.3 生成节点

4.4 给节点生成圆圈 设置半径

4.5 给节点添加文本 设置文本的样式 位置

学习地址

http://wiki.jikexueyuan.com/project/d3wiki/layout.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值