D3.js的基础部分之数组的处理 数组的排序和求值(v3版本)
var numbers = [10,13,15,17,19,21];
d3.shuffle(numbers)
//打印一下新数组
console.log(numbers) //重新随机排列的数组:[19, 17, 10, 15, 21, 13];
d3.merge(arrays) : 合并两个数组:
d3.merge(arrays) : //合并两个数组。将两个数组合并时使用
var numbers1 = [1,2];
var numbers2 = [3,4];
var numbers3 = d3.merge([numbers1,numbers2]);
//打印一下numbers3
console.log(numbers3) //返回[1, 2, 3, 4]
var colors = ["red","blue","yellow"];
//colors不变,结果保存在pairs中
var pairs = d3.pairs(colors);
// 打印一下parirs
console.log(pairs) //返回["red", "blue"] ["blue", "yellow"]
var a = d3.range(0,10,1)
var b = d3.range(2,10,1)
var c = d3.range(2,10,2)
//打印一下结果
console.log(a) //返回的数据为[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(b) //返回的数据为[2, 3, 4, 5, 6, 7, 8, 9]
console.log(c) //返回的数据为[2, 4, 6, 8]
var animals = ["cat","dog","bird"];
//根据[2,1,0]将数组animals重新排列,但是原数组animals不变,结果保存在返回值中
var newAnimals = d3.permute(animals,[2,1,0])
//打印一下新数组
console.log(newAnimals) //返回的新数组 ["bird", "dog", "cat"]
var zip = d3.zip([1000, 1001, 1002],
["zhangsan", "lisi", "wangwu"],
["true", "false", "NaN"])
//打印一下结果
console.log(zip) //结果为 : [
[1000, "zhangsan", "true"],
[1001, "lisi", "false"],
[1002, "wangwu", "NaN"]
]
var a = [10,20,5];
var b = [-5,10,3];
var ab = d3.sum(d3.zip(a,b),function(d){
return d[0]*d[1]
})
console.log(ab) //返回的值为165
//上面代码中,使用d3.zip(a,b)得到的结果为
console.log(d3.zip(a,b)) //[ [10, -5],[20, 10],[5, 3] ]
//然后,这个数组会被function(d)先处理,处理的结果为:[-50,200,15]
//最后再被d3.sum()求和,结果即向量a和b的内积。
var a =[[1,2,3],[4,5,6]];
//转置后,原数组不变,结果保存在返回值中
var t = d3.transpose(a)
//输出结果
console.log(t) //结果为 : [[1,4],[2,5],[3,6]]
D3.js的基础部分之数组的处理 数组的排序和求值(v3版本)的更多相关文章
- D3.js的基础部分之数组的处理 映射(v3版本)
映射(Map) 映射(Map)是十分常见的一种数据结构,由一系列键(key)和值(value)组成的.每个key对应一个value,根据key可以获取和设定value,也可以根据key来查询val ...
- D3.js的基础部分之数组的处理 集合(Set)(v3版本)
数组的处理 之 集合(set) 集合(Set)是数学中常用的概念,表示具有某种特定性质的事物的总体.集合里的项叫做元素.集合的相关方法有: d3.set([array]) //使用数组来构建集合, ...
- D3.js的基础部分之选择集的处理 过滤器、选择集的顺序、each()和call()的应用(v3版本)
选择集的处理 : 过滤器 有时候需要根据绑定数据对某选择集的元素进行过滤,例如某公司,只对id大于100的员工进行奖励.某学校只选拔身高超过170cm的学生等.类似这样的问题,需要根据条件获取选择集的 ...
- D3.js的基础部分之选择集的处理 enter和exit的处理方法 (v3版本)
上一节给大家讲述额绑定数据的原理.当数组的长度与元素的数量不一致时,有enter部分和exit部分,前者表示存在多余的数据,后者表示存在多余的元素.本节将给大家介绍如何处理这些多余的东西,最后会给大家 ...
- 【BigData】Java基础_定义工具类,对ArrayList排序并且求最大值、最小值、平均值
需求描述 编写一个工具类,对ArrayList实现以下功能: ① 排序 ② 求最大值 ③ 求最小值 ④ 求平均值 需求实现 实现代码 package cn.test.logan.day04; impo ...
- 贰、js的基础(一)
1.js的语法 a.区分大小写 b.弱类型变量:变量无特定类型 c.每行结尾的分号可有可无 d.括号用于代码块 e.注释的方法与c语言和java相同 2.变量 注意事项: a.通过关键字var来声明. ...
- D3.js(v3)+react框架 基础部分之数据绑定及其工作过程与绑定顺序
数据绑定: 将数据绑定到Dom上,是D3最大的特色.d3.select和d3.selectAll返回的元素的选择集.选择集上是没有数据的. 数据绑定就是使被选择元素里“含有”数据. 相关函数有两个: ...
- D3.js学习笔记(六)——SVG基础图形和D3.js
目标 在这一章,我们将会重温SVG图形,学习如何使用D3.js来创建这些图形. 这里会包括前面例子中的SVG基础图形以及如何使用D3.js设置图形的属性. 使用D3.js画一个SVG 的 圆 circ ...
- 精通D3.js学习笔记(1)基础的函数
买了本吕大师的d3可视化.最近来学习一下,做个笔记. 1.选择元素 select(第一元素) 和selectAll(全部的元素) 类似css的选择器.也可以是dom选中的. var i ...
随机推荐
- SpringMVC作用域传值几种方式
一.SpringMVC 作用域传值的几种方式 1 使用原生Servlet 1.1 在 HandlerMethod 参数中添加作用域对象 1.1.1 ServletContext不能在方法参数中获取, ...
- 2019.01.03 bzoj3456: 城市规划(生成函数+多项式取对)
传送门 生成函数好题. 题意:求n个点的简单(无重边无自环)无向连通图数目 思路: 对简单无向图构造生成函数f(x)=∑n2Cn2xnn!f(x)=\sum_n2^{C_n^2}\frac{x^n}{ ...
- 2018.10.24 NOIP模拟 小 C 的序列(链表+数论)
传送门 考虑到a[l],gcd(a[l],a[l+1]),gcd(a[l],a[l+1],a[l+2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l+1]),gcd(a[ ...
- 半透明全屏蒙层+全屏屏蔽+内容居中+css
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Win7 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- WZ后台管理框架
http://herozhou.coding.me/vue-framework-wz/#/dashboard
- s5-13 RIP 为什么会 衰败
DV路由可能遇到的问题 路由环路( routing loop) 计数到无穷问题( Count to infinite) 收敛慢的问题( slow Convergence ) 相信错误的路由信息导致 好 ...
- 用户权限,pymysql
单表查询的完整语法 select [distinct] [*|字段|聚合函数|表达式] from tablewhere group byhaving distinctorder bylimit mys ...
- Lua 常用遍历
b = {} , do b[i] = i end -- method one for i, v in pairs(b) do print (i, v) end -- method two for i, ...
- 原生JS一些操作
很久没写原生的JS了,上周做了一个小东西让我又重新了解了一下原生JS,以下记录一些常见的原生JS var canvArrow = document.getElementById('js-canv_ar ...