API 中文手册

司机大傻 edited this page Oct 18, 2016 · 77 revisions

WikiAPI--中文手册



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.scale.ordinal - 构造一个序数比例尺。
  • ordinal - 获取输入值对应的输出值。
  • ordinal.domain - 获取或指定比例尺的输入域。
  • ordinal.range - 获取或指定比例尺的输出范围。
  • [ordinal.rangePoints] (序数比例尺#ordinal_rangePoints) - 指定输出范围为连续区间。
  • ordinal.rangeRoundPoints - 指定输出范围为连续区间,刻度点均为整数。
  • ordinal.rangeBands - 指定输出范围为连续区间。
  • ordinal.rangeRoundBands - 指定输出范围为连续区间,区间段的起点均为整数。
  • [ordinal.rangeBand] (序数比例尺#ordinal_rangeBand) - 获取区间段的宽度。
  • [ordinal.rangeExtent] (序数比例尺#ordinal_rangeExtent) - 获取当前比例尺的输出范围,未被切分的。
  • ordinal.copy - 深度拷贝当前比例尺对象。
  • d3.scale.category10 - 构造一个有10种颜色的序数比例尺。
  • d3.scale.category20 - 构造一个有20种颜色的序数比例尺。
  • d3.scale.category20b - 构造一个另外20种颜色的序数比例尺。
  • d3.scale.category20c - 构造一个另外20种颜色的序数比例尺。

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 - 给指定的元素应用缩放行为。

本文参与 人员 组织 时间
翻译 大傻 VisualCrew小组 20150801
校对/排版 大傻 VisualCrew小组 20160331
WeiFei365 VisualCrew小组 2015-12-01 15:12:24
liang42hao VisualCrew小组 2016-01-11 19:27:12
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.