博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
交互式数据可视化-D3.js(二)选择集和数据
阅读量:6800 次
发布时间:2019-06-26

本文共 1488 字,大约阅读时间需要 4 分钟。

选择集

select和selectAll类似jquery:

d3.select('body')    d3.select('.body')    d3.select('#body')    d3.selectAll('p')    d3.selectAll('.box')    var conent = document.getElementById('#box')    d3.select(conent)

操作选择集

查看状态

判断选择集是否为空:

selection.empty()

返回第一个选择集:

selection.node()

返回选择集的长度:

selection.size()

设定和获取

selection.attr(name,[ name])

设置或获取选择集的属性name是属性名称,value是属性值,省略value则返回属性值

有部分属性不能通过attr获取或设置则使用:

selection.property(name,[ name])

使用方法一致,总之不能通过attr获取的属性,都可以考虑property

设定className开关

selection.classed(name,[ name])

name是类名, value是一个布尔值,表示是否开启

添加,插入和删除

在选择集的末尾插入元素:

selection.append()

在选择集的元素之前插入元素:

selection.inster()

删除选中的元素:

selection.remove()

数据绑定

d3.select和d3.selectAll返回元素的选择集,选择集上是没有数据的,数据绑定就是使选择的元素添加数据。相关的函数有两个

selection.datum()

selection.data()

datum的工作过程

datum的方法很简单,使用的也比较少。

var p = d3.select('.box').selectAll('p');    p.datum('这里是数据绑定').append('span').text(function(d, i){        return i + "<----> " + d;    });

datum绑定了一个字符串这里是数据绑定到选择集的子元素上。这一点很常用。

data()的工作过程

data能将数据各项分别绑定到选择的元素集上。当数组长度与元素数量不一致时,data同样能够处理。

var p = d3.select('.box').selectAll('p'); var updateData = p.data([2,4,6]) updateData.text(function(d, i){ console.log(d) return d; }) updateData.enter().append('p').text(function(d, i){ console.log(d); return d; }); updateData.exit().remove();

多出的元素在最后renove。

转载地址:http://nnywl.baihongyu.com/

你可能感兴趣的文章
接口Deque <E>
查看>>
线程安全的无锁RingBuffer
查看>>
移动安全-iOS(二)
查看>>
有趣的Linux命令
查看>>
04 | 深入浅出索引(上)
查看>>
破解 Kotlin 协程(7) - 序列生成器篇
查看>>
React 生命周期
查看>>
App 瘦身 项目实践
查看>>
基于vue2.0+ 抽奖项目
查看>>
线程和进程基础以及多线程的基本使用(iOS)
查看>>
typeof vs instanceof
查看>>
Array.from方法具体理解(3分钟)
查看>>
CS229课程01-机器学习的动机与应用
查看>>
iOS开发常用框架总览!
查看>>
Javascript实现冒泡排序与快速排序以及对快速排序的性能优化
查看>>
深入React v16新特性(一)
查看>>
笔记(2) 从webpack到vue-cli3.0
查看>>
记一次阿里巴巴一面的经历
查看>>
用前端 最舒服的躺姿 "搞定" Flutter (组件篇)
查看>>
Android开发无线调试工具adbwireless的使用简介(附AirADB)
查看>>