WikiAPI 参考文档

  • 本文档是D3官方文档中文翻译,并保持与最新版同步。
  • 如发现翻译不当或有其他问题可以通过以下方式联系译者:
  • 邮箱:zhang_tianxu@sina.com
  • QQ群:D3数据可视化205076374,大数据可视化436442115

D3库中所有函数都在“d3”命名空间内。

D3 使用语义版本命名。 你可以使用“d3.version”查看D3的最新版本

D3 API总览

  • 行为 - 可重用的交互行为。
  • 核心 - 包括选择器,过渡,数据处理,本地化,颜色等。
  • 地理 - 球面坐标,经纬度运算。
  • 几何 - 提供绘制2D几何图形的实用工具。
  • 布局 - 推导定位元素的辅助数据。
  • 比例尺 - 数据编码和视觉编码之间转换。
  • 可缩放矢量图形 - 提供用于创建可伸缩矢量图形的实用工具。
  • 时间 - 解析或格式化时间,计算日历的时间间隔等。

d3 (核心)

选择器

过渡

数组

  • d3.ascending - 为排序比较两个值。
  • d3.bisectLeft - 在排序数组中检索值。
  • d3.bisector - 二等分使用访问器或比较器。
  • d3.bisectRight - 在排序数组中检索值。
  • d3.bisect - 在排序数组中检索值。
  • d3.descending - 为排序比较两个值。
  • d3.deviation - 计算一组数据的标准差。
  • d3.entries - 列出一个关联数组的键值对实体。
  • d3.extent - 找出一个数组中的最大值和最小值。
  • d3.keys - 列出一个关联数组中的键。
  • d3.map - 构建一个新的map。
  • d3.max - 找出一个数组中的最大值。
  • d3.mean - 计算一组数据的算数平均值。
  • d3.median - 计算一组数据的算数中值。
  • d3.merge - 合并多个数组为一个数组。
  • d3.min - 找出一个数组中的最小值。
  • d3.nest - 分层地分组数组元素。
  • d3.pairs - 返回一个元素的相邻对数组。
  • d3.permute - 按照数组的索引重新排序数组元素。
  • d3.quantile - 为一个排好序的数字数组的分位数。
  • d3.range - 产生一系列的数值。
  • d3.set - 构建一个新的集合。
  • d3.shuffle - 随机化一个数组的顺序。
  • d3.sum - 计算数字数组的和。
  • d3.transpose - 转置一个数组的数组。
  • d3.values - 列出关联数组的值。
  • d3.variance - 计算数字数组的方差。
  • d3.zip - 转置数组的可变数量。
  • map.empty - 如果map不包含元素就返回true。
  • map.entries - 返回map的实体数组。
  • map.forEach - 为每个指定的实体调用一个函数。
  • map.get - 为指定的键返回值。
  • map.has - 如果map包含指定的值则返回true。
  • map.keys - 返回map的键数组。
  • map.remove - 为指定的键移除值。
  • map.set - 为指定的键设置值。
  • map.size - 返回map的实体数量。
  • map.values - 返回map的值数组。
  • nest.entries - 返回一组键-值元组
  • nest.key - 在嵌套层级中添加一个级别。
  • nest.map - 返回一个关联数组。
  • nest.rollup - 为叶子值指定一个汇总函数。
  • nest.sortKeys - 按照键排序叶子嵌套级别。
  • nest.sortValues - 按照值排序叶子嵌套级别。
  • set.add - 添加指定的值。
  • set.empty - 如果集合不含元素的话返回true。
  • set.forEach - 为集合中的每个元素调用指定的函数。
  • set.has - 如果集合中包含指定值就返回true。
  • set.remove - 移除指定的值。
  • set.size - 返回集合中的元素数量。
  • set.values - 返回集合中的值数组。

数学

请求

  • d3.csv - 请求一个CSV(逗号分隔值)的文件。
  • d3.html - 请求一个HTML文档片段。
  • d3.json - 请求一个JSON对象。
  • d3.text - 请求一个text文件。
  • d3.tsv - 请求一个TSV(制表符分隔值)的文件。
  • d3.xhr - 使用XMLHttpRequest请求一个资源。
  • d3.xml - 请求一个XML文档片段。
  • xhr.abort - 终止未完成的请求。
  • xhr.get - 发送一个GET请求。
  • xhr.header - 设置一个请求头。
  • xhr.mimeType - 设置一个接受请求头并覆盖响应的MIME类型。
  • xhr.on - 为“progress”,“load”或“error”事件添加一个事件监听器。
  • xhr.post - 发送一个POST请求。
  • xhr.response - 设置一个响应映射函数。
  • xhr.send - 使用指定的数据和函数发送一个请求。

格式化

CSV格式化(d3.csv)

本地化

颜色

  • d3.hcl - 指定一种颜色,创建一个HCL颜色对象。
  • d3.hsl - 指定一种颜色,创建一个HSL颜色对象。
  • d3.lab - 指定一种颜色,创建一个L*a*b*颜色对象。
  • d3.rgb - 指定一种颜色,创建一个RGB颜色对象。
  • hcl.brighter - 增强颜色的亮度,变化幅度由参数决定。
  • hcl.darker - 减弱颜色的亮度,变化幅度由参数决定。
  • hcl.rgb - 将HCL颜色对象转化成RGB颜色对象。
  • hcl.toString - HCL颜色对象转化为字符串格式。
  • hsl.brighter - 增强颜色的亮度,变化幅度由参数决定。
  • hsl.darker - 减弱颜色的亮度,变化幅度由参数决定。
  • hsl.rgb - 将HSL颜色对象转化成RGB颜色对象。
  • hsl.toString - 将HSL颜色对象转化为字符串格式。
  • lab.brighter - 增强颜色的亮度,变化幅度由参数决定。
  • lab.darker - 减弱颜色的亮度,变化幅度由参数决定。
  • lab.rgb - 将L*a*b*颜色对象转化成RGB颜色对象。
  • lab.toString - 将L*a*b*颜色对象转化为字符串格式。
  • rgb.brighter - 增强颜色的亮度,变化幅度由参数决定。
  • rgb.darker - 减弱颜色的亮度,变化幅度由参数决定。
  • rgb.hsl - 将RGB颜色对象转化成HSL颜色对象。
  • rgb.toString - 将RGB颜色对象转化为字符串格式。

命名空间

内部

  • d3.dispatch - 创建一个定制的事件分发器。
  • d3.functor - 创建一个函数并返回一个常量。
  • d3.rebind - 重新绑定get/set方法到一个子类上。
  • dispatch.on - 注册或者解除注册事件监听器。
  • dispatch.type - 为指定的监听器分发事件。

d3.scale (比例尺)

定量比例尺

序数比例尺

d3.svg (SVG)

形状

拖选

  • brush.clear - 重置拖选范围。
  • brush.empty - 拖选是否为空。
  • brush.event - 在设置范围之后分发拖选事件。
  • brush.extent - 拖选范围可以是0,1,2维的。
  • brush.on - 监听拖选何时改变。
  • brush.x - 拖选的x-比例,用于水平拖选。
  • brush.y - 拖选的y-比例,用于垂直拖选。
  • brush - 将拖选应用在指定的选择器和过渡上。
  • d3.svg.brush - 点击和拖曳来选择一个1维或2维区域。

d3.time (时间)

时间格式化

时间比例尺

时间间隔

d3.layout (布局)

捆布局

  • bundle - 对边使用Holten 层次捆绑 算法。
  • d3.layout.bundle - 构造一个新的默认的捆绑布局。

弦布局

簇布局

力布局

层次布局

直方图布局

包布局

  • d3.layout.pack - 用递归的圆-包生成一个层次布局。
  • pack.children - 取得或设置子节点的访问器。
  • pack.links - 计算树节点中的父子链接。
  • pack.nodes - 计算包布局并返回节点数组。
  • pack.padding - 指定布局间距(以像素为单位)
  • pack.radius - 指定节点半径(不是由值派生来的)
  • pack.size - 指定布局尺寸。
  • pack.sort - 控制兄弟节点的遍历顺序。
  • pack.value - 取得或设置用于圆尺寸的值访问器。
  • pack - pack.nodes的别名。

分区布局

  • d3.layout.pie - 构造一个新的默认的饼布局。
  • pie.endAngle -取得或设置饼布局整体的结束角度。
  • pie.padAngle - 取得或设置饼布局填充角度。
  • pie.sort - 控制饼片段的顺时针方向的顺序。
  • pie.startAngle - 取得或设置饼布局整体的开始角度。
  • pie.value - 取得或设置值访问器函数。
  • pie - 计算饼图或圆环图中弧的开始和结束角度。

堆叠

  • d3.layout.stack - 构造一个新的默认的堆叠布局。
  • stack.offset - 指定整体的基线算法。
  • stack.order - 控制每个系列的顺序。
  • stack.out - 取得或设置用于存储基线的输出函数。
  • stack.values - 取得或设置每个系列的值访问器函数。
  • stack.x - 取得或设置x-维访问器函数。
  • stack.y - 取得或设置y-维访问器函数。
  • stack - 计算堆叠图或者面积图的基线。

矩形树

d3.geo (地理)

地理路径

地理投影

d3.geom (几何)

泰森多边形

  • d3.geom.voronoi - 用默认的访问器创建一个泰森多边形布局。
  • voronoi.clipExtent -取得或者设置铺嵌的剪切范围。
  • voronoi.links - 计算Delaunay mesh为一个链接网络。
  • voronoi.triangles - 计算Delaunay mesh为一个三角形密铺。
  • voronoi.x - 取得或者设置每个点的x-坐标访问器。
  • voronoi.y - 取得或者设置每个点的y-坐标访问器。
  • voronoi - 为每个指定的点计算泰森多边形密铺。

四叉树

多边形

赫尔

  • d3.geom.hull - 使用默认访问器创建一个convex hull布局。
  • hull - 为给定的点数组计算convex hull。
  • hull.x - 取得或设置x-坐标访问器。
  • hull.y - 取得或设置y-坐标访问器。

d3.behavior (行为)

拖动

缩放

  • d3.behavior.zoom - 创建缩放行为。
  • zoom.center - 鼠标滚轮缩放的焦点。
  • zoom.duration - 取得或设置双击事件的过渡持续的时间。
  • zoom.event - 设置完缩放比例或平移之后分发缩放事件。
  • zoom.on - 事件监听器。
  • zoom.scaleExtent - 可选参数,比例因子范围。
  • zoom.scale - 当前的比例因子。
  • zoom.size - 视口的大小。
  • zoom.translate - 当前的平移偏移量。
  • zoom.x - 可选比例尺,其定义域绑定到视口的_x_范围。
  • zoom.y - 可选比例尺,其定义域绑定到视口的_y_范围。
  • zoom - 给指定的元素应用缩放行为。