D3 库所提供的所有 API 都在 d3 命名空间下。d3 库使用语义版本命名法(semantic versioning)。 你可以用 d3.version 查看当前的版本信息。 d3 (核心部分) 选择集 d3.select - 从当前文档中选择一系列元素。 d3.selectAll - 从当前文档中选择多项元素。 selection.attr - 设置或获取指定属性。 selection.classed - 添加或删除选定元素的 CSS 类(CSS class)。 selection.style - 设置或删除 CSS 属性。style优先级高于attr。 selection.property - 设置或获原生的属性值(raw property)。 selection.text - 设置或获取选定元素的标签体文本内容。 selection.html - 设置或获取选定元素的 HTML 内容(类似 innerHTML ) selection.append - 创建并添加新元素到选定元素后。 selection.insert - 创建并添加新元素到选定元素前。 selection.remove - 从当前文档对象中删除选定的元素。 selection.data - 设置或获取一组元素的绑定数据(get or set data for a group of elements, while computing a relational join.) selection.enter - 返回缺失元素的占位对象(placeholder),指向绑定的数据中比选定元素集多出的一部分元素。 selection.exit - 返回多余元素的元素集,即选择元素中比绑定数据多出的一部分。(关于data, enter, exit原理的示例1, 示例2, 示例3) selection.datum - 设置或获取单独元素的数据,不进行关联。(get or set data for individual elements, without computing a join.) selection.filter - 根据绑定的数据过滤选择集。 selection.sort - 根据绑定的数据对选择的元素进行排序。 selection.order - 对文档中的元素重排序以匹配选择集。 selection.on - 添加或删除事件监听器。 selection.transition - 启动一个过渡效果(返回 Transition 对象),可以理解为动画。 selection.interrupt - 立即停止所有正在进行的动画动作。 selection.each - 为每个选择的元素集调用指定的函数。 selection.call - 为当前选择的元素集调用指定的函数。 selection.empty - 测试选择集是否为空。 selection.node - 返回选择集中的第一个元素。 selection.size - 返回选择集中的元素个数。 selection.select - 选择所选的元素中的第一个子元素组成新的选择集。 selection.selectAll - 选择所选的元素中的多个子元素组成新的选择集。 d3.selection - 选择集对象原型(可通过 d3.selection.prototype 为选择集增强功能)。 d3.event - 获取当前交互的用户事件。 d3.mouse - 获取鼠标的相对某元素的坐标。 d3.touches - 获取相对某元素的触控点坐标。 过渡效果 d3.transition - 开始一个动画过渡。简单教程 transition.delay - 指定每个元素过渡的延迟时间(单位:毫秒ms)。 transition.duration - 指定每个元素过渡的持续时间(单位:毫秒ms)。 transition.ease - 指定过渡的缓冲函数。 transition.attr - 平滑过渡到新的attr属性值(起始属性值为当前属性)。 transition.attrTween - 在不同attr属性值之间平滑过渡(起始属性值可在过渡函数中设置,甚至整个过渡函数都可以自定义)。 transition.style - 平滑过渡到新的style属性值。 transition.styleTween - 在不同style属性值之间平滑过渡。 transition.text - 在过渡开始时设置文本内容。 transition.tween - 使某个属性过渡到一个新的属性值,该属性可以是非attr或非style属性,比如text。 transition.select - 选择每个当前元素的某个子元素进行过渡。 transition.selectAll - 选择每个当前元素的多个子元素进行过渡。 transition.filter - 通过数据筛选出当前元素中的部分元素进行过渡。 transition.transition - 当前过渡结束后开始新的过渡。 transition.remove - 过渡结束后移除当前元素。 transition.empty - 如果过渡为空就返回true。如果当前元素中没有非null元素,则此过渡为空。 transition.node - 返回过渡中的第一个元素。 transition.size - 返回过渡中当前元素的数量。 transition.each - 遍历每个元素执行操作。不指定触发类型时,立即执行操作。当指定触发类型为'start'或'end'时,会在过渡开始或结束时执行操作。 transition.call - 以当前过渡为this执行某个函数。 d3.ease - 定制过渡的缓冲函数。 ease - 缓冲函数。缓冲函数可让动画效果更自然,比如elastic缓冲函数可用以模拟弹性物体的运动。是一种插值函数的特例。 d3.timer - 开始一个定制的动画计时。功能类似于setTimeout,但内部用requestAnimationFrame实现,更高效。 d3.timer.flush - 立刻执行当前没有延迟的计时。可用于处理闪屏问题。 d3.interpolate - 生成一个插值函数,在两个参数间插值。差值函数的类型会根据输入参数的类型(数字、字符串、颜色等)而自动选择。 interpolate - 插值函数。输入参数在[0, 1]之间。 d3.interpolateNumber - 在两个数字间插值。 d3.interpolateRound - 在两个数字间插值,返回值会四舍五入取整。 d3.interpolateString - 在两个字符串间插值。解析字符串中的数字,对应的数字会插值。 d3.interpolateRgb - 在两个RGB颜色间插值。 d3.interpolateHsl - 在两个HSL颜色间插值。 d3.interpolateLab - 在两个L*a*b*颜色间插值。 d3.interpolateHcl - 在两个HCL颜色间插值。 d3.interpolateArray - 在两个数列间插值。d3.interpolateArray( [0, 1], [1, 10, 100] )(0.5); // returns [0.5, 5.5, 100] d3.interpolateObject - 在两个object间插值。d3.interpolateArray( {x: 0, y: 1}, {x: 1, y: 10, z: 100} )(0.5); // returns {x: 0.5, y: 5.5, z: 100} d3.interpolateTransform - 在两个2D仿射变换间插值。 d3.interpolateZoom - 在两个点之间平滑地缩放平移。示例 d3.interpolators - 添加一个自定义的插值函数. 数据操作(Working with Arrays) d3.ascending - 升序排序函数. d3.descending - 降序排序函数. d3.min - 获取数组中的最小值. d3.max - 获取数组中的最大值. d3.extent - 获取数组的范围(最小值和最大值). d3.sum - 获取数组中数字之和. d3.mean -获取数组中数字的算术平均值. d3.median - 获取数组中数字的中位数 (相当于 0.5-quantile的值). d3.quantile - 获取排好序的数组的一个分位数(quantile). d3.bisect - 通过二分法获取某个数在排好序的数组中的插入位置(同d3.bisectRight). d3.bisectRight - 获取某个数在排好序的数组中的插入位置(相等的值归入右边). d3.bisectLeft - 获取某个数在排好序的数组中的插入位置(相等的值归入左边). d3.bisector - 自定义一个二分函数. d3.shuffle - 洗牌,随机排列数组中的元素. d3.permute - 以指定顺序排列数组中的元素. d3.zip - 将多个数组合并成一个数组的数组,新数组的的第i个元素是原来各个数组中第i个元素组成的数组. d3.transpose - 矩阵转置,通过d3.zip实现. d3.pairs - 返回临近元素对的数组,d3.pairs([1, 2, 3, 4]); // returns [ [1, 2], [2, 3], [3, 4] ]. d3.keys - 返回关联数组(哈希表、json、object对象)的key组成的数组. d3.values - 返回关联数组的value组成的数组. d3.entries - 返回关联数组的key-value实体组成的数组, d3.entries({ foo: 42 }); // returns [{key: "foo", value: 42}]. d3.merge - 将多个数组连成一个,类似于原生方法concat. d3.merge([ [1], [2, 3] ]); // returns [1, 2, 3]. d3.range - 获得一个数列. d3.range([start, ]stop[, step]) d3.nest - 获得一个nest对象,将数组组织成层级结构. 示例:http://bl.ocks.org/phoebebright/raw/3176159/ nest.key - 为nest层级结构增加一个层级. nest.sortKeys - 将当前的nest层级结构按key排序. nest.sortValues - 将叶nest层级按value排序. nest.rollup - 设置修改叶节点值的函数. nest.map - 执行nest操作, 返回一个关联数组(json). nest.entries - 执行nest操作, 返回一个key-value数组. 如果nest.map返回的结果类似于{ foo: 42 }, 则nest.entries返回的结果类似于[{key: "foo", value: 42}]. d3.map - 将javascript的object转化为hash,屏蔽了object的原型链功能导致的与hash不一致的问题。 map.has - map有某个key就返回true. map.get - 返回map中某个key对应的value. map.set - 设置map中某个key对应的value. map.remove - 删除map中的某个key. map.keys - 返回map中所有key组成的数组. map.values - 返回map中所有value组成的数组. map.entries - 返回map中所有entry(key-value键值对)组成的数组.类似于{ foo: 42 }转化成[{key: "foo", value: 42}] map.forEach - 对map中每一个entry执行某个函数. d3.set - 将javascript的array转化为set,屏蔽了array的object原型链功能导致的与set不一致的问题。set中的value是array中每个值转换成字符串的结果。set中的value是去重过的。 set.has - 返回set中是否含有某个value. set.add - 添加某个value. set.remove - 删除某个value. set.values - 返回set中的值组成的数组.set中的value是去重过的. set.forEach - 对set中每一个value执行某个函数. Math d3.random.normal - 利用正态分布产生一个随机数. d3.random.logNormal - 利用对数正态分布产生一个随机数. d3.random.irwinHall - 利用Irwin–Hall分布(简单可行并且容易编程的正态分布实现方法)产生一个随机数. d3.transform - 将svg的tranform格式转化为标准的2D转换矩阵字符串格式. 载入外部资源(Loading External Resources) d3.xhr - 发起XMLHttpRequest请求获取资源。 xhr.header - 设置 request header。 xhr.mimeType - 设置 Accept request header,并重写 response MIME type。 xhr.response - 设置response返回值转化函数。如 function(request) { return JSON.parse(request.responseText); } xhr.get - 发起GET请求。 xhr.post - 发起POST请求。 xhr.send - 以指定的方法和数据发起请求。 xhr.abort - 终止当前请求。 xhr.on - 为请求添加”beforesend”, “progress”, “load” 或 “error” 等事件监听器。 d3.text - 请求一个text文件。 d3.json - 请求一个JSON。 d3.html - 请求一个html文本片段。 d3.xml - 请求一个XML文本片段。 d3.csv - 请求一个CSV(comma-separated values, 逗号分隔值)文件。 d3.tsv - 请求一个TSV(tab-separated values, tab分隔值)文件。 字符串格式化(String Formatting) d3.format - 将数字转化成指定格式的字符串。转化的格式非常丰富,且非常智能。 d3.formatPrefix - 以指定的值和精度获得一个[SI prefix]对象。这个函数可用来自动判断数据的量级, 如K(千),M(百万)等等。示例: var prefix = d3.formatPrefix(1.21e9); console.log(prefix.symbol); // “G”; console.log(prefix.scale(1.21e9)); // 1.21 d3.requote - 将字符串转义成可在正则表达式中使用的格式。如 d3.requote(‘$'); // return “$” d3.round - 设置某个数按小数点后多少位取整。与toFixed()类似,但返回格式为number。 如 d3.round(1.23); // return 1; d3.round(1.23, 1); // return 1.2; d3.round(1.25, 1); // return 1.3 CSV 格式化 (d3.csv) d3.csv - 获取一个CSV (comma-separated values, 冒号分隔值)文件。 d3.csv.parse - 将CSV文件字符串转化成object的数组,object的key由第一行决定。如: [{"Year": "1997", "Length": "2.34"}, {"Year": "2000", "Length": "2.38"}] d3.csv.parseRows - 将CSV文件字符串转化成数组的数组。如: [ ["Year", "Length"],["1997", "2.34"],["2000", "2.38"] ] d3.csv.format - 将object的数组转化成CSV文件字符串,是d3.csv.parse的逆操作。 d3.csv.formatRows - 将数组的数组转化成CSV文件字符串,是d3.csv.parseRows的逆操作。 d3.tsv - 获取一个TSV (tab-separated values, tab分隔值)文件。 d3.tsv.parse - 类似于d3.csv.parse。 d3.tsv.parseRows - 类似于d3.csv.parseRows。 d3.tsv.format - 类似于d3.csv.format。 d3.tsv.formatRows - 类似于d3.csv.formatRows。 d3.dsv - 创建一个类似于d3.csv的文件处理对象,可以自定义分隔符和mime type。如:var dsv = d3.dsv(“|”, “text/plain”); 颜色 d3.rgb - 指定一种颜色,创建一个RGB颜色对象。支持多种颜色格式的输入。 rgb.brighter - 增强颜色的亮度,变化幅度由参数决定。 rgb.darker - 减弱颜色的亮度,变化幅度由参数决定。 rgb.hsl - 将RGB颜色对象转化成HSL颜色对象。 rgb.toString - RGB颜色转化为字符串格式。 d3.hsl - 创建一个HSL颜色对象。支持多种颜色格式的输入。 hsl.brighter - 增强颜色的亮度,变化幅度由参数决定。 hsl.darker - 减弱颜色的亮度,变化幅度由参数决定。 hsl.rgb - 将HSL颜色对象转化成RGB颜色对象。 hsl.toString - HSL颜色转化为字符串格式。 d3.lab - 创建一个Lab颜色对象。支持多种颜色格式的输入。 lab.brighter - 增强颜色的亮度,变化幅度由参数决定。 lab.darker - 减弱颜色的亮度,变化幅度由参数决定。 lab.rgb - 将Lab颜色对象转化成RGB颜色对象。 lab.toString - Lab颜色转化为字符串格式。 d3.hcl - 创建一个HCL颜色对象。支持多种颜色格式的输入。 hcl.brighter - 增强颜色的亮度,变化幅度由参数决定。 hcl.darker - 减弱颜色的亮度,变化幅度由参数决定。 hcl.rgb - 将HCL颜色对象转化成RGB颜色对象。 hcl.toString - HCL颜色转化为字符串格式。 命名空间 d3.ns.prefix - 获取或扩展已知的XML命名空间。 d3.ns.qualify - 验证命名空间前缀是否存在, 如”xlink:href”中xlink是已知的命名空间。 内部方法(Internals) d3.functor - 函数化。将非函数变量转化为只返回该变量值的函数。输入函数,则返回原函数;输入值,则返回一个函数,该函数只返回原值。 d3.rebind - 将一个对象的方法绑定到另一个对象上。 d3.dispatch - 创建一个定制的事件。 dispatch.on - 添加或移除一个事件监听器。对一个事件可添加多个监听器。 dispatch.type - 触发事件。其中‘type'为要触发的事件的名称。 d3.scale(Scales) 定量变换(Quantitative) d3.scale.linear - 创建一个线性定量变换。(建议参考源码以深入理解各种变换。) linear - 输入一个定义域的值,返回一个值域的值。 linear.invert - 反变换,输入值域值返回定义域值。 linear.domain - get或set定义域。 linear.range - get或set值域。 linear.rangeRound - 设置值域,并对结果取整。 linear.interpolate - get或set变换的插值函数,如将默认的线性插值函数替换成取整的线性插值函数d3_interpolateRound。 linear.clamp - 设置值域是否闭合,默认不闭合。当值域闭合时,如果插值结果在值域之外,会取值域的边界值。如值域为[1, 2],插值函数的计算结果为3,如果不闭合,最终结果为3;如果闭合,最终结果为2。 linear.nice - 扩展定义域范围使定义域更规整。如[0.20147987687960267, 0.996679553296417] 变成 [0.2, 1]。 linear.ticks - 从定义域中取出有代表性的值。通常用于坐标轴刻度的选取。 linear.tickFormat - 获取格式转化函数,通常用于坐标轴刻度的格式转化。如:var x = d3.scale.linear().domain([-1, 1]); console.log(x.ticks(5).map(x.tickFormat(5, “+%”))); // ["-100%", "-50%", "+0%", "+50%", "+100%"] linear.copy - 从已有的变换中复制出一个变换。 d3.scale.sqrt - 创建一个求平方根的定量转换。 d3.scale.pow - 创建一个指数变换。(可参考linear对应函数的注释) pow - 输入一个定义域的值,返回一个值域的值。 pow.invert - 反变换,输入值域值返回定义域值。 pow.domain - get或set定义域。 pow.range - get或set值域。 pow.rangeRound - 设置值域,并对结果取整。 pow.interpolate - get或set变换的插值函数。 pow.clamp - 设置值域是否闭合,默认不闭合。 pow.nice - 扩展定义域范围使定义域更规整。 pow.ticks - 从定义域中取出有代表性的值。通常用于坐标轴刻度的选取。 pow.tickFormat - 获取格式转化函数,通常用于坐标轴刻度的格式转化。 pow.exponent - get或set指数的幂次。默认为1次幂。 pow.copy - 从已有的变换中复制出一个变换。 d3.scale.log - 创建一个对数变换。(可参考linear对应函数的注释) log - 输入一个定义域的值,返回一个值域的值。 log.invert - 反变换,输入值域值返回定义域值。 log.domain - get或set定义域。 log.range - get或set值域。 log.rangeRound - 设置值域,并对结果取整。 log.interpolate - get或set变换的插值函数。 log.clamp - 设置值域是否闭合,默认不闭合。 log.nice - 扩展定义域范围使定义域更规整。 log.ticks - 从定义域中取出有代表性的值。通常用于坐标轴刻度的选取。 log.tickFormat - 获取格式转化函数,通常用于坐标轴刻度的格式转化。 log.copy - 从已有的变换中复制出一个变换。 d3.scale.quantize - 创建一个quantize线性变换,定义域为一个数值区间,值域为几个离散值。 quantize - 输入数值,返回离散值。如: var q = d3.scale.quantize().domain([0, 1]).range(['a', 'b', 'c']); //q(0.3) === ‘a', q(0.4) === ‘b', q(0.6) === ‘b', q(0.7) ==='c; quantize.invertExtent - 返回得到某个离散值的值域范围。 // q.invertExtent(‘a') 的结果为 [0, 0.3333333333333333] quantize.domain - get或set变换的定义域。 quantize.range - get或set变换的值域。 quantize.copy - 从已有的变换中复制出一个变换。 d3.scale.threshold - 构建一个threshold(阈值)线性变换。定义域为分隔值数值序列,值域为离散值。它与quantize的区别是quantize指定的值域为一个区间,然后均分这个区间为多个小区间,以对应各离散值。threshold则指定各小区间的边界分隔值。示例: var t = d3.scale.threshold().domain([0, 1]).range(['a', 'b', 'c']); t(-1) === ‘a'; t(0) === ‘b'; t(0.5) === ‘b'; t(1) === ‘c'; t(1000) === ‘c'; t.invertExtent(‘a'); //returns [undefined, 0] t.invertExtent(‘b'); //returns [0, 1] t.invertExtent(‘c'); //returns [1, undefined] threshold - 输入数值,返回离散值。 threshold.invertExtent - 输入离散值,返回数值。 threshold.domain - get或set变换的定义域。 threshold.range - get或set变换的值域。 threshold.copy - 从已有的变换中复制出一个变换。 d3.scale.quantile - 构建一个quantile线性变换。使用方法与quantize完全类似,区别是quantile根据中位数来分隔区间,quantize根据算数平均值来分隔区间。example quantile - 输入数值,返回离散值。 quantile.invertExtent - 输入离散值,返回数值。 quantile.domain - get或set变换的定义域。 quantile.range - get或set变换的值域。 quantile.quantiles - 获得quantile变换的分隔值。示例: var q = d3.scale.quantile().domain([0, 1]).range(['a', 'b', 'c']); q.quantiles() returns [0.33333333333333326, 0.6666666666666665] quantile.copy - 从已有的变换中复制出一个变换。 d3.scale.identity - 构建一个identity线性变换。特殊的linear线性变换,此变换定义域和值域相同,只在一些d3内部的axis或brush模块中用到。 identity - identity线性变换函数。返回输入值。 identity.invert - 和identity函数相同,返回输入值。 identity.domain - get或set变换的定义域。 identity.range - get或set变换的值域。 identity.ticks - 从定义域中取出有代表性的值。通常用于坐标轴刻度的选取。 identity.tickFormat - 获取格式转化函数,通常用于坐标轴刻度的格式转化。 identity.copy - 从已有的变换中复制出一个变换。 序数变换(Ordinal) d3.scale.ordinal - 构建一个ordinal变换对象。ordinal变换的输入定义域和输出值域都是离散的。而quantitative变换的输入定义域是连续的,这是两者最大的不同。 ordinal - 输入一个离散值,返回一个离散值。不在当前定义域中的输入值会自动加入定义域。 ordinal.domain - get或set变换的定义域。 ordinal.range - get或set变换的值域。 ordinal.rangePoints - 用几个离散点来分割一个连续的区间。详情请看链接中的图例。 ordinal.rangeBands - 用几个离散区间来分割一个连续的区间。详情请看链接中的图例。 ordinal.rangeRoundBands - 用几个离散区间来分割一个连续的区间,区间边界和宽度会取整。详情请看链接中的图例。 ordinal.rangeBand - 获取离散区间的宽度。 ordinal.rangeExtent - 获取输出域的最小最大值。 ordinal.copy - 从已有的变换中复制出一个变换。 d3.scale.category10 - 用10种颜色构建一个ordinal变换。 d3.scale.category20 - 用20种颜色构建一个ordinal变换。 d3.scale.category20b - 用另外20种颜色构建一个ordinal变换。 d3.scale.category20c - 用另外20种颜色构建一个ordinal变换。 d3.svg (SVG) Shapes d3.svg.line - 创建一个线段生成器. line - 在折线图里生成一段折线. line.x - 设置或获取x轴访问器. line.y - 设置或获取y轴访问器 line.interpolate - 设置或获取插值模式. line.tension - 获取或设置曲线张力访问器(cardinal spline tension). line.defined - 定义线条在某一点是否存在. d3.svg.line.radial - 创建辐射线生成器. line - 生成分段的线性曲线,用于纬度线/雷达线图表. line.radius - 获取或设置radius访问器. line.angle - 获取或设置angle访问器. line.defined - 设置或获取线条定义存取器. d3.svg.area - 创建一个新的区域生成器. area - 生成一个线性的区域,用于区域图表. area.x - 获取或设置x坐标的访问器. area.x0 - 获取或设置x0坐标(基线)的访问器. area.x1 - 获取或设置x1坐标(背线)的访问器. area.y - 获取或设置y坐标的访问器. area.y0 - 获取或设置y0坐标(基线)的访问器. area.y1 - 获取或设置y1坐标(背线)的访问器. area.interpolate - 获取或设置插值模式. area.tension - 获取或设置张力访问器(the cardinal spline tension). area.defined - 判断获取或定义区域定义存取器. d3.svg.area.radial - 创建新的区域生成器. area - 生成分段的线性区域,用于纬度/雷达图表. area.radius - 获取或设置radius访问器. area.innerRadius - 获取或设置内部的radius(基线)访问器. area.outerRadius - 获取或设置外部的radius(背线)访问器. area.angle - 获取或设置angle访问器. area.startAngle - 获取或设置内部的angle(基线)访问器. area.endAngle - 获取或设置外部的angle(背线)访问器. area.defined - 判断获取或定义区域定义存取器. d3.svg.arc - 创建弧度生成器. arc - 生成一个线性弧度,用于饼图或甜甜圈图. arc.innerRadius - 获取或设置内部的半径访问器. arc.outerRadius - 获取或设置外部的半径访问器. arc.startAngle - 获取或设置起始角度访问器. arc.endAngle - 获取或设置结束角度访问器. arc.centroid - 计算弧的重心点. d3.svg.symbol - 创建符号生成器. symbol - 生成指定的符号,用于散列图. symbol.type - 获取或设置符号类型访问器. symbol.size - 获取或设置符号尺寸(in square pixels) 访问器. d3.svg.symbolTypes - 被支持的符号类型数组. d3.svg.chord - 创建新的弦生成器. chord - 生成一个二次贝塞尔曲线连接两个弧, 用于弦图. chord.radius - 获取或设置弧半径访问器. chord.startAngle - 获取或设置弧起始角度访问器. chord.endAngle - 获取或设置弧结束角度访问器. chord.source - 获取或设置源弧度访问器. chord.target - 获取或设置目标弧度访问器. d3.svg.diagonal - 创建新的斜线生成器. diagonal - 生成一个二维贝塞尔连接器, 用于节点连接图. diagonal.source - 获取或设置源点访问器. diagonal.target - 获取或设置目标点访问器. diagonal.projection - 获取或设置一个可选的点变换器. d3.svg.diagonal.radial - 创建一个新的斜线生成器. diagonal - 创建一个二维贝塞尔连接器,用于节点连接图. 坐标轴(Axes) d3.svg.axis - 创建一个axis生成器。 axis - 正式在页面中生成axis。 axis.scale - get或set坐标轴的scale尺度变换,该尺度变换设定了数值和像素位置的转换规则。 axis.orient - get或set坐标轴刻度方向。 axis.ticks - 控制坐标轴刻度的产生方式。 axis.tickValues - 设置特定的坐标轴的值。 axis.tickSize - 指定坐标轴上刻度线的像素长度。 axis.innerTickSize - get或set坐标轴小刻度线的像素长度。 axis.outerTickSize - get或set坐标轴大刻度线的像素长度。 axis.tickPadding - 指定坐标轴刻度和刻度文字之间的像素距离。 axis.tickFormat - 设置刻度文字的格式。 Controls d3.svg.brush - 点击拖拽选择一个二维区域。 brush - 在页面中某个区域中正式绑定一个brush。 brush.x - get或set brush的x变换,用于水平方向的拖拽。 brush.y - get或set brush的y变换,用于垂直方向的拖拽。 brush.extent - get或set brush的选取范围(extent)。 brush.clear - 设置brush的选取范围(extent)为空。 brush.empty - 判断brush的选取范围(extent)是否为空。 brush.on - get或set brush的事件监听器。可监听3种事件:brushstart, brush, brushend。 brush.event - 通过程序触发监听事件,在通过程序设置extent后使用。 d3.time (Time) 时间格式转换(Time Formatting) d3.time.format - 创建基于某种时间格式的本地时间格式转换器。 format - 将一个date对象转换成特定时间格式的字符串。 format.parse - 将特定时间格式的字符串转换成date对象。 d3.time.format.utc - 创建基于某种时间格式的世界标准时间(UTC)格式转换器。 d3.time.format.iso - 创建基于某种时间格式的ISO世界标准时间(ISO 8601 UTC)格式转换器。 时间变换(Time Scales) d3.time.scale - 创建一个线性时间变换,定义域为数值区间,值域为时间区间。常用于时间坐标轴的创建。详情可参考d3.scale.linear。 scale - 输入为一个数值,返回为一个时间。 scale.invert - 反变换,输入时间返回数值。 scale.domain - get或set变换的定义域。 scale.nice - 扩展定义域范围使定义域更规整。 scale.range - get或set变换的值域。 scale.rangeRound - 设置值域,并对结果取整。 scale.interpolate - get或set变换的插值函数,如将默认的线性插值函数替换成指数插值函数。 scale.clamp - 设置值域是否闭合,默认不闭合。当值域闭合时,如果插值结果在值域之外,会取值域的边界值。详情参考linear.clamp。 scale.ticks - 从定义域中取出有代表性的值。通常用于坐标轴刻度的选取。 scale.tickFormat - 获取格式转化函数,通常用于坐标轴刻度的格式转化。 scale.copy - 从已有的时间变换中复制出一个变换。 Time Intervals d3.time.interval - 返回一个对于本地时间时间间隔器. interval - 效果同interval.floor方法. interval.range - 返回指定区间内日期. interval.floor - 下舍入到最近的间隔值. interval.round - 上舍入或下舍入到最近的间隔值. interval.ceil - 上舍入到最近的间隔值. interval.offset - 返回指定时间间隔的日期偏移量. interval.utc - 返回对应的UTC时间间隔. d3.time.day - 返回指定时间基于天起始的时间(默认起始是12:00am). d3.time.days - 返回指定时间区间和间隔条件的基于天的所有时间,效果同day.range. d3.time.dayOfYear - 计算指定时间在年中的天数. d3.time.hour - 返回指定时间基于小时起始的时间(e.g., 1:00 AM). d3.time.hours - 返回指定时间区间和间隔条件的基于小时的所有时间, 效果同hour.range. d3.time.minute - 返回指定时间基于分钟起始的时间 (e.g., 1:02 AM). d3.time.minutes - 返回指定时间区间和间隔条件的基于分钟的所有时间,效果同minute.range. d3.time.month - 返回指定时间基于月起始的时间(e.g., February 1, 12:00 AM). d3.time.months - 返回指定时间区间和间隔条件的基于月的所有时间,效果同month.range. d3.time.second - 返回指定时间基于秒起始的时间(e.g., 1:02:03 AM). d3.time.seconds - 返回指定时间区间和间隔条件的基于秒的所有时间,效果同second.range. d3.time.sunday - 返回指定时间基于Sunday起始的时间(e.g., February 5, 12:00 AM). d3.time.sundays - 返回指定时间区间和间隔条件的基于sunday的所有时间, 效果同sunday.range. d3.time.sundayOfYear - 计算以sunday为基点的指定时间在一年中的周数. d3.time.monday - every Monday (e.g., February 5, 12:00 AM). d3.time.mondays - alias for monday.range. d3.time.mondayOfYear - computes the monday-based week number. d3.time.tuesday - every Tuesday (e.g., February 5, 12:00 AM). d3.time.tuesdays - alias for tuesday.range. d3.time.tuesdayOfYear - computes the tuesday-based week number. d3.time.wednesday - every Wednesday (e.g., February 5, 12:00 AM). d3.time.wednesdays - alias for wednesday.range. d3.time.wednesdayOfYear - computes the wednesday-based week number. d3.time.thursday - every Thursday (e.g., February 5, 12:00 AM). d3.time.thursdays - alias for thursday.range. d3.time.thursdayOfYear - computes the thursday-based week number. d3.time.friday - every Friday (e.g., February 5, 12:00 AM). d3.time.fridays - alias for friday.range. d3.time.fridayOfYear - computes the friday-based week number. d3.time.saturday - every Saturday (e.g., February 5, 12:00 AM). d3.time.saturdays - alias for saturday.range. d3.time.saturdayOfYear - computes the saturday-based week number. d3.time.week - alias for sunday. d3.time.weeks - alias for sunday.range. d3.time.weekOfYear - alias for sundayOfYear. d3.time.year - 返回指定时间基于年起始的时间(e.g., January 1, 12:00 AM). d3.time.years - 返回指定时间区间和间隔条件的所有时间,效果同year.range. 构图(d3.layout) Bundle d3.layout.bundle - construct a new default bundle layout. bundle - apply Holten's hierarchical bundling algorithm to edges. 弦图(Chord)