D3属性大全
https://www.cnblogs.com/bester-ace/articles/10948793.html
https://www.cnblogs.com/qingmingsang/articles/6040121.html
非本人自创
选择
d3.select - 从当前文档中选择一个元素。
d3.selectAll - 从当前文档中选择多个元素。
d3.event - 访问用于交互的当前用户事件。
selection.text - 取得或设置文本内容。
selection.style - 取得或设置样式属性。
selection.data - 在计算相关的连接时,取得或设置一组元素的数据。
selection.append - 创建并追加一个新元素。
selection.remove - 从当前文档中移除当前元素。
selection.attr - 取得或设置属性的值。
selection.call - 为当前选择调用一个函数。
selection.transition - 在选中元素上开启过渡。
selection.enter - 为缺失的元素返回占位符。( 绑定数据数量 > 对应元素 )
selection.exit - 返回不再需要的元素。( 绑定数据数量 < 对应元素 )
selection.on - 为交互添加或移除事件监听器。
selection.each - 为每个选中的元素调用一个函数。
比例尺
d3.scale.linear - 构建一个线性比例尺。
linear.domain - 取得或设置比例尺的定义域。
linear.range - 取得或设置比例尺的输出范围。
d3.scale.ordinal - 构造一个序数比例尺。
ordinal.rangeBand - 获取区间段的宽度。
ordinal.rangeRoundBands - 指定输出范围为连续区间,区间段的起点均为整数。
d3.scale.category10 - 构造一个有10种颜色的序数比例尺。
d3.scale.category20 - 构造一个有20种颜色的序数比例尺。
数组
d3.max - 找出一个数组中的最大值。
d3.min - 找出一个数组中的最小值。
d3.descending - 为排序比较两个值。
map.forEach - 为每个指定的实体调用一个函数。
d3.random.normal - 生成具有正态分布规律的随机数。
d3.random.normal 生成一个函数,这个函数能够按正态(高斯)分布随机生成数值。
要传入两个参数,第一个是位置参数,第二个是尺寸参数。
轴
d3.svg.axis - 创建一个新的轴生成器。
axis - 为给定的选择器或过渡创建或者更新轴。
axis.scale - 设置或者取得比例尺。
axis.orient - 设置或者取得轴的方向。
过渡
d3.transition - 开启一个动画过渡。
transition.duration - 指定每个元素的持续时间(以毫秒为单位)。
transition.delay - 指定每个元素的延迟时间(以毫秒为单位)。
transition.ease - 指定一个过渡的缓动函数。
linear 普通的线性变化
circle 慢慢地到达变换的最终状态
elastic 带有弹跳的到达最终状态
bounce 在最终状态处弹跳几次
可视化图形
d3.layout.histogram - 构造一个新的默认的直方图布局。
histogram.bins - 指定值是如何组织到箱中的。
bins: 分隔数
histogram.frequency - 按频数或者频率计算分布。
frequency: 若值为 true,则统计的是个数;若值为 false,则统计的是概率
histogram.range - 取得或设置值得范围。
range: 区间的范围
d3.layout.pie - 构造一个新的默认的饼布局。
pie.startAngle - 取得或设置饼布局整体的开始角度。
pie.endAngle -取得或设置饼布局整体的结束角度。
pie.value - 取得或设置值访问器函数。
(D3 中的力学图布局是使用韦尔莱积分法计算的,这是一种用于求解牛顿运动方程的数值方法,被广泛应用于分子动力学模拟以及视频游戏中。)
d3.layout.force - 使用物理模拟排放链接节点的位置。
force.nodes - 取得或者设置布局的节点数组。(点)
force.links - 取得或者设置节点间的链接数组。(线)
force.start - 当节点变化时启动或者重启模拟。
force.drag - 给节点绑定拖动行为。
force.on - 监听在计算布局位置时的更新。
force.tick - 运行布局模拟的一步。
force.linkDistance - 取得或者设置链接距离。
指定结点连接线的距离,默认为20。
如果距离是一个常数,那么各连接线的长度总是固定的;
如果是一个函数,那么这个函数是作用于各连接线( source , target )的。
force.linkStrength - 取得或者设置链接强度。
指定连接线的坚硬度,值的范围为[ 0 , 1 ],值越大越坚硬。
其直观感受是:
值为1,则拖动一个顶点A,与之相连的顶点会与A保持linkDistance设定的距离运动
值为0,则拖动一个顶点A,与之相连的顶点不会运动,连接线会被拉长
force.size - 取得或者设置布局大小。
重力的重心位置为 ( x/2 , y/2 )
所有节点的初始位置限定为 [ 0 , x ] 和 [ 0 , y ] 之间(但并非之后也是如此)
如果不指定,默认为 [ 1 , 1 ] 。
force.friction - 取得或者设置摩擦系数。
定义摩擦系数的函数,值的范围为[ 0 , 1 ],默认为0.9。
但是这个值其实并非物理意义上的摩擦,其实其意义更接近速度随时间产生的损耗,这个损耗是针对每一个顶点的。
值为1,则没有速度的损耗。
值为0,则速度的损耗最大。
force.charge - 取得或者设置电荷强度。
设定引力,是排斥还是吸引,默认值为-30。
值为+,则相互吸引,绝对值越大吸引力越大。
值为-,则相互排斥,绝对值越大排斥力越大。
force.chargeDistance - 取得或者设置最大电荷距离。
设定引力的作用距离,超过这个距离,则没有引力的作用。
默认值为无穷大。
force.gravity - 取得或者设置重力强度。
以 size 函数设定的中心产生重力,各顶点都会向中心运动,默认值为0.1。
也可以设定为0,则没有重力的作用。
force.theta - 取得或者设置电荷作用的精度。
顶点数如果过多,计算的时间就会加大(O(n log n))。
theta 就是为了限制这个计算而存在的,默认值为0.8。
这个值越小,就能把计算限制得越紧。
force.alpha - 取得或者设置力布局的冷却参数。
设定动画运动的时间,超过时间后运动就会停止。
其实
force.start() 即 alpha(0.1)
force.stop() 即 alpha(0)
d3.layout.chord - 从关系矩阵生成一个弦图。
chord.padding - 取得或设置弦片段间的角填充。
chord.sortSubgroups - 取得或设置用于子分组的比较器。
chord.matrix - 取得或设置布局需要的矩阵数据。
chord.chords - 取回计算的弦角度。
chord.groups - 取回计算的分组角度。
d3.layout.cluster - 将实体聚集成树状图。
cluster.size - 取得或设置布局的尺寸。
cluster.nodes - 计算簇布局并返回节点数组。
cluster.links - 技术树节点之间的父子连接。
cluster.children - 取得或者设置子节点的访问器函数。
d3.layout.tree - 整齐地排列树节点。
tree.separation - 取得或设置相邻节点的间隔函数。
d3.layout.pack - 用递归的圆-包生成一个层次布局。
pack.radius - 指定节点半径(不是由值派生来的)
d3.layout.partition - 递归地将节点树分区为旭日图或者冰柱图。
partition.sort - 控制兄弟节点的遍历顺序。
指定对同深度的节点进行排序的函数。
如果不排序,则按照默认顺序显示。
排序函数与JavaScript 相同:
```
function comparator(a, b) {
return b.value - a.value;
}
```
partition.size - 指定布局的尺寸。
如果是方形的:size( [ width , height ] )
如果是圆形的:size( [ 2 * Math.PI, radius * radius ] )// radius 为圆的半径
partition.value - 取得或设置用来指定尺寸的值访问器。
设定用哪一个值来表示节点大小。如:
function value(d) { return d.size; }
这样设定的话,用节点里的 size 值来表示节点的大小。
partition.children - 取得或设置孩子访问器。
指定表示子节点的字符串。
默认是:
function children(d) { return d.children; }
表示在 JSON 文件中,子节点的变量符号用 children 表示.
partition.links - 计算树节点中的父子链接。
将上述节点数组传入后,得到连接线的关系,
起点和终点分别存在 source 和 target 变量中。
partition.nodes - 计算分区布局并返回节点数组。
将根数据传入后,得到的节点的数组,每个节点添加8个参数:
parent - 父节点
children - 子节点
value - 表示节点的大小,由下面 value() 函数指定的值,父节点的值等于子节点值的和
depth - 节点的深度
x - 节点的x方向的坐标(不一定指x轴方向,跟据 size() 函数的意义而定)
y - 节点的y方向的坐标(同上)
dx - x方向扩展的宽度(同上)
dy - y方向扩展的宽度(同上)
svg形状
d3.svg.arc - 新建一个弧度生成器。
arc.innerRadius - 获取或设置内半径访问器。
arc.outerRadius - 获取或设置外半径访问器。
arc.centroid - 计算弧中心。
d3.svg.diagonal - 新建一个对角线生成器。
diagonal.projection - 设置或获取一个可选的点转换。
请求
d3.json - 请求一个JSON对象。
d3.csv - 请求一个CSV(逗号分隔值)的文件。
d3.tsv - 请求一个TSV(制表符分隔值)的文件。
CSV格式化
d3.dsv - 为指定的分隔符和mime类型创建一个解析器/格式化器。
地理
GeoJSON
GeoJSON是一种对各种地理数据结构进行编码的格式,
基于Javascript对象表示法的地理空间信息数据交换格式。
GeoJSON对象可以表示几何、特征或者特征集合。
GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。
GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。
除了GeoJSON D3还支持 TopoJSON
d3.geo.path - 创建一个地理路径生成器。
path.centroid - 计算给定要素的投影中心。
d3.geo.mercator - 球形墨卡托投影。
projection - 投影指定的位置。
projection.center - 取得或设置投影的中心位置。
projection.scale - 取得或设置投影的缩放系数。
projection.translate - 取得或设置投影的平移位置。
几何
d3.geom.voronoi - 用默认的访问器创建一个泰森多边形布局。
voronoi.triangles - 计算Delaunay mesh为一个三角形密铺。
行为
d3.behavior.drag - 创建拖动行为。
drag.origin - 设置拖动行为的原点。
drag.on - 监听拖动事件。
dragstart、dragend、drag。
d3.behavior.zoom - 创建缩放行为。
zoom.scaleExtent - 可选参数,比例因子范围。
zoom.scale - 当前的比例因子。
zoom.on - 事件监听器。
data 与 datum 的区别
datum():将指定数据赋值给被选择元素。
data():将数据数组与选择集的元素结合。
同样绑定3位的数组
datum:
对于选择集中的每一个元素,都为其增加一个__data__属性,属性值为datum(value)的参数value。
此处的value并非一定要是number(数值)型,
也可以是string(字符串)、boolean(布尔型)和object(对象),
无论是什么类型,其工作过程都是给__data__赋值。
如果使用undefined和null作为参数,则将不会创建__data__属性。
在被绑定数据的选择集中添加元素后,新元素也会具有被绑定数据。
d3_selectionPrototype.datum = function(value) {
return arguments.length
? this.property("__data__", value)
: this.property("__data__");
};
data
D3属性大全的更多相关文章
- firemonkey中stringgrid属性大全
StringGrid之属性大全: Align: //确定组件在父类组件区内的对齐方式(alScale:随窗口 放大缩小) AlterRowBack ...
- (转)TextView属性大全
TextView属性大全 今天研究了TextView一天了,发现网上有一篇讲TextView属性的,非常全,收藏一下先. 发现TextView有一个比较大的问题,就是文字排版的问题,遇到数字,字母,符 ...
- Android(java)学习笔记88:TextView属性大全
TextView属性大全: android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/ph ...
- ehcache.xml 属性大全
属性大全 name:缓存名称. maxElementsInMemory:缓存最大个数. eternal:对象是否永久有效,一但设置了,timeout将不起作用. timeToIdleSeconds:设 ...
- Android:layout属性大全
Android layout属性大全 第一类:属性值 true或者 false android:layout_centerHrizontal 水平居中android:layout_centerVert ...
- angular常用属性大全
Angular元素属性大全 addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()-在每个匹配元 ...
- HTML标签及属性大全
HTML标签及属性大全 基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</ ...
- ASP.NET控件属性大全
ASP.NET控件属性大全 DataGridView 控件DataGridView 控件提供用来显示数据的可自定义表.使用 DataGridView 类,可以自定义单元格.行.列和边框. 注意Data ...
- Android(java)学习笔记27:TextView属性大全
TextView属性大全: android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/ph ...
随机推荐
- js的Set和Map集合
目录 1.js的Set介绍 1-1.Set基础用法 1-2.Set对象的操作方法 1-3.Set对象的遍历方法 2.js的Set扩展WeakSet篇 3.js的Map介绍 3-1.Map基础用法 3- ...
- IntelliJ IDEA神器使用技巧
说明:详情请参考慕课网课程:IntelliJ IDEA神器使用技巧:http://www.imooc.com/learn/924(感谢课程作者:闪电侠) 推荐: 1. 课程老师(闪电侠)IDEA快捷键 ...
- 有关vue中用element ui 中的from表单提交json格式总是有冒号的问题解决办法
因为后台要求要传递JSON格式的数据给他,然后我转了之后总是多了冒号,后来又看了自己的报错,原来是报了404错误,说明路径找不到, 数据格式 后来发现怎么都不行了,然后突然查看了报错报的是404,说明 ...
- Mac上Burpsuite 拦截不到HTTPS流量怎么设置
在百度了一堆以及修修改改下终于拦截到HTTPS流量了. 安装步骤就大致讲一下吧 网上下载burp的安装包,然后Mac上直接打开这个burpUnlimited.jar包就可以了 我直接选择的第一个 ...
- ReentrantReadWriteLock 源码分析以及 AQS 共享锁 (二)
前言 上一篇讲解了 AQS 的独占锁部分(参看:ReentrantLock 源码分析以及 AQS (一)),这一篇将介绍 AQS 的共享锁,以及基于共享锁实现读写锁分离的 ReentrantReadW ...
- JVM笔记-垃圾收集算法与垃圾收集器
1. 一些概念 1.1 垃圾&垃圾收集 垃圾:在 JVM 语境下,"垃圾"指的是死亡的对象所占据的堆空间. 垃圾收集:所谓"垃圾收集",就是将已分配出去 ...
- 数据库事务ACID详解(转载)
转载自:http://blog.csdn.net/shuaihj/article/details/14163713 谈谈数据库的ACID 一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行 ...
- SpringBoot的启动流程是怎样的?SpringBoot源码(七)
注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 温故而知新 本篇接 SpringBoot内置的各种Starter是怎样构建的? SpringBoot源码(六) 温故而知新, ...
- Swift 4.0 数组(Array)学习
定义数组常量(常量只有读操作) let array1: [Int] = [11, 55, 5] let array2 = [11, 55, 5] 定义数组变量 var array: [Int] = [ ...
- Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能
Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能 开篇 现在的网站基本都有邮件注册功能,毕竟可以通过邮件定期的给用户发送一些 垃圾邮件 精选推荐