API 索引
🌐 API index
D3 是一个模块集合,这些模块被设计成可以协同工作;你可以单独使用这些模块,或者将它们作为默认构建的一部分一起使用。
🌐 D3 is a collection of modules that are designed to work together; you can use the modules independently, or you can use them together as part of the default build.
d3-array
数组操作、排序、搜索、汇总等
🌐 Array manipulation, ordering, searching, summarizing, etc.
添加
🌐 Add
添加全精度浮点值。
🌐 Add floating point values with full precision.
- new Adder - 创建一个全精度加法器。
- adder.add - 向加法器添加一个值。
- adder.valueOf - 获取加法器值的双精度表示。
- fcumsum - 计算数字的全精度累积和。
- fsum - 计算一个数字可迭代对象的全精度求和。
Bin
将离散样本分箱到连续、不重叠的区间中。
🌐 Bin discrete samples into continuous, non-overlapping intervals.
- bin - 创建一个新的bin生成器。
- bin - 对给定的样本数组进行分箱。
- bin.value - 为每个样本指定一个值访问器。
- bin.domain - 指定可观察值的区间。
- bin.thresholds - 指定数值如何划分到各个区间。
- thresholdFreedmanDiaconis - 弗里德曼–迪科尼斯分箱规则。
- thresholdScott - Scott 的常规参考分箱规则。
- thresholdSturges - Sturges的分箱公式。
二分
🌐 Bisect
快速在已排序数组中查找值。
🌐 Quickly find a value in a sorted array.
- bisector - 使用访问器或比较器进行二分。
- bisector.right - bisectRight,使用给定的比较器。
- bisector.left - bisectLeft,使用给定的比较器。
- bisector.center - 在排序数组中进行值的二分查找。
- bisect - 在排序数组中进行二分查找以寻找某个值。
- bisectRight - 在已排序数组中进行值的二分查找。
- bisectLeft - 在已排序数组中二分查找一个值。
- bisectCenter - 在已排序数组中二分查找一个值。
模糊
🌐 Blur
在一维或二维中模糊定量值。
🌐 Blur quantitative values in one or two dimensions.
- d3.blur - 原地模糊一个数字数组。
- d3.blur2 - 就地模糊二维数字数组。
- d3.blurImage - 原地模糊一个 RGBA ImageData。
组
🌐 Group
对离散值进行分组。
🌐 Group discrete values.
- d3.group - 将可迭代对象分组到嵌套的 Map 中。
- d3.groups - 将可迭代对象分组到嵌套数组中。
- d3.rollup - 将可迭代对象归约为嵌套的 Map。
- d3.rollups - 将可迭代对象缩减为嵌套数组。
- d3.index - 将可迭代对象索引到嵌套的 Map 中。
- d3.indexes - 将可迭代对象索引到嵌套数组中。
- d3.flatGroup - 将可迭代对象分组为一个扁平数组。
- d3.flatRollup - 将可迭代对象归约为一个扁平数组。
- d3.groupSort - 根据分组后的值对键进行排序。
实习生
🌐 Intern
使用非原始值(例如日期)创建映射和集合。
🌐 Create maps and sets with non-primitive values such as dates.
- new InternMap - 一个关键字驻留的映射。
- new InternSet - 一个值驻留集合。
集合
🌐 Sets
集合上的逻辑运算。
🌐 Logical operations on sets.
- d3.difference - 计算集合差集。
- d3.disjoint - 测试两个集合是否没有交集。
- d3.intersection - 计算集合的交集。
- d3.superset - 测试一个集合是否是另一个集合的超集。
- d3.subset - 测试一个集合是否是另一个集合的子集。
- d3.union - 计算集合的并集。
排序
🌐 Sort
对值数组进行排序和重新排序。
🌐 Sort and reorder arrays of values.
- d3.ascending - 计算两个值的自然顺序。
- d3.descending - 计算两个值的自然顺序。
- d3.permute - 根据索引的可迭代对象重新排列元素的可迭代对象。
- d3.quickselect - 重新排列一个数字数组。
- d3.reverse - 反转值的顺序。
- d3.shuffle - 随机排列可迭代对象的顺序。
- d3.shuffler - 随机排列可迭代对象的顺序。
- d3.sort - 排序值。
总结
🌐 Summarize
计算汇总统计数据。
🌐 Compute summary statistics.
- d3.count - 计算可迭代对象中有效数字值的数量。
- d3.min - 计算可迭代对象中的最小值。
- d3.minIndex - 计算可迭代对象中最小值的索引。
- d3.max - 计算可迭代对象中的最大值。
- d3.maxIndex - 计算可迭代对象中最大值的索引。
- d3.least - 返回可迭代对象中最小的元素。
- d3.leastIndex - 返回可迭代对象中最小元素的索引。
- d3.greatest - 返回可迭代对象中的最大元素。
- d3.greatestIndex - 返回可迭代对象中最大元素的索引。
- d3.extent - 计算可迭代对象中的最小值和最大值。
- d3.mode - 计算一个数字可迭代对象的众数(最常见的值)。
- d3.sum - 计算一组数字可迭代对象的总和。
- d3.mean - 计算一个数字可迭代对象的算术平均值。
- d3.median - 计算一个数字可迭代对象的中位数(0.5 分位数)。
- d3.medianIndex - 计算一个数字可迭代对象的中位数索引(0.5分位数)。
- d3.cumsum - 计算可迭代对象的累积和。
- d3.quantile - 计算一组数字的分位数。
- d3.quantileIndex - 计算一组数字的分位数索引。
- d3.quantileSorted - 计算已排序数组的分位数。
- d3.rank - 计算可迭代对象的排名顺序。
- d3.variance - 计算一个数字可迭代对象的方差。
- d3.deviation - 计算一组数字的标准差。
- d3.every - 测试所有值是否满足某个条件。
- d3.some - 测试是否有任何值满足某个条件。
蜱虫
🌐 Ticks
从连续间隔中生成代表值。
🌐 Generate representative values from a continuous interval.
- d3.ticks - 从数值区间生成代表值。
- d3.tickIncrement - 从数值区间生成代表值。
- d3.tickStep - 从数值区间生成代表值。
- d3.nice - 扩展一个区间以与刻度对齐。
- d3.range - 生成一系列数值。
变换
🌐 Transform
导出新数组。
🌐 Derive new arrays.
- d3.cross - 计算两个可迭代对象的笛卡尔积。
- d3.merge - 将多个可迭代对象合并为一个数组。
- d3.pairs - 创建一个相邻元素对的数组。
- d3.transpose - 转置一个数组的数组。
- d3.zip - 转置任意数量的数组。
- d3.filter - 过滤值。
- d3.map - 映射值。
- d3.reduce - 合并数值。
d3-axis
比例尺的人类可读参考标记。
🌐 Human-readable reference marks for scales.
- d3.axisTop - 创建一个新的顶部导向轴生成器。
- d3.axisRight - 创建一个新的右向轴生成器。
- d3.axisBottom - 创建一个新的底部轴生成器。
- d3.axisLeft - 创建一个新的左向轴生成器。
- 轴 - 为所选内容生成一个轴。
- axis.scale - 设置刻度。
- axis.ticks - 自定义刻度的生成和格式化方式。
- axis.tickArguments - 自定义刻度的生成和格式化方式。
- axis.tickValues - 显式设置刻度值。
- axis.tickFormat - 显式设置刻度格式。
- axis.tickSize - 设置刻度线的大小。
- axis.tickSizeInner - 设置内部刻度的大小。
- axis.tickSizeOuter - 设置外部(范围)刻度的尺寸。
- axis.tickPadding - 设置刻度与标签之间的间距。
- axis.offset - 设置像素偏移以获得清晰的边缘。
d3-brush
使用鼠标或触摸选择一维或二维区域。
🌐 Select a one- or two-dimensional region using the mouse or touch.
- d3.brush - 创建一个新的二维刷子。
- d3.brushX - 在 x 维度上创建一个刷子。
- d3.brushY - 在y维度上创建一个刷子。
- 刷 - 将刷子应用到所选内容上。
- brush.move - 移动画笔选择。
- brush.clear - 清除画笔选择。
- brush.extent - 定义可刷区域。
- brush.filter - 控制哪些输入事件会触发刷选。
- brush.touchable - 设置触摸支持检测器。
- brush.keyModifiers - 启用或禁用按键交互。
- brush.handleSize - 设置画笔句柄的大小。
- brush.on - 监听刷子事件。
- d3.brushSelection - 获取给定节点的刷选区域。
d3-chord
- d3.chord - 创建一个新的弦图布局。
- chord - 为给定矩阵计算布局。
- chord.padAngle - 设置相邻组之间的间距。
- chord.sortGroups - 定义组顺序。
- chord.sortSubgroups - 定义组内的源顺序和目标顺序。
- chord.sortChords - 定义各组之间的和弦顺序。
- d3.chordDirected - 创建一个有向弦生成器。
- d3.chordTranspose - 创建一个移调和弦生成器。
- d3.ribbon - 创建一个丝带形状生成器。
- 丝带 - 生成丝带形状。
- ribbon.source - 设置源访问器。
- ribbon.target - 设置目标访问器。
- ribbon.radius - 设置丝带的源半径和目标半径。
- ribbon.sourceRadius - 设置丝带源半径。
- ribbon.targetRadius - 设置丝带目标半径。
- ribbon.startAngle - 设置丝带源或目标的起始角度。
- ribbon.endAngle - 设置丝带源或目标的结束角度。
- ribbon.padAngle - 设置填充角访问器。
- ribbon.context - 设置渲染上下文。
- d3.ribbonArrow - 创建一个箭头丝带生成器。
- ribbonArrow.headRadius - 设置箭头头部半径访问器。
d3-color
颜色操作和色彩空间转换。
🌐 Color manipulation and color space conversion.
- d3.color - 解析给定的 CSS 颜色说明符。
- color.opacity - 颜色的不透明度。
- color.rgb - 计算此颜色的 RGB 等效值。
- color.copy - 返回此颜色的副本。
- color.brighter - 创建此颜色的更亮副本。
- color.darker - 创建此颜色的更暗版本。
- color.displayable - 如果颜色可以在标准硬件上显示,则返回 true。
- color.formatHex - 返回此颜色的十六进制 RRGGBB 字符串表示。
- color.formatHex8 - 返回此颜色的十六进制 RRGGBBAA 字符串表示。
- color.formatHsl - 返回此颜色的 RGB 字符串表示。
- color.formatRgb - 返回该颜色的 HSL 字符串表示。
- color.toString - 返回该颜色的 RGB 字符串表示。
- d3.rgb - 创建一个新的 RGB 颜色。
- rgb.clamp - 返回此颜色限制在 RGB 颜色空间内的副本。
- d3.hsl - 创建一个新的 HSL 颜色。
- hsl.clamp - 返回此颜色在 HSL 色彩空间内限制后的副本。
- d3.lab - 创建一个新的实验室颜色。
- d3.gray - 创建一个新的实验室灰色。
- d3.hcl - 创建一个新的 HCL 颜色。
- d3.lch - 创建一个新的 HCL 颜色。
- d3.cubehelix - 创建一个新的 Cubehelix 颜色。
d3-contour
使用行进方格计算轮廓多边形。
🌐 Compute contour polygons using marching squares.
- d3.contours - 创建一个新的等高线生成器。
- 轮廓 - 为给定的值网格计算轮廓。
- contours.contour - 计算给定值的轮廓。
- contours.size - 设置轮廓生成器的大小。
- contours.smooth - 设置是否对生成的轮廓进行平滑处理。
- contours.thresholds - 设置轮廓生成器的阈值。
- d3.contourDensity - 创建一个新的密度估计器。
- 密度 - 估计给定样本数组的密度。
- density.x - 设置密度估计器的 x 访问器。
- density.y - 设置密度估计器的 y 访问器。
- density.weight - 设置密度估计器的 weight 访问器。
- density.size - 设置密度估计器的大小。
- density.cellSize - 设置密度估计器的单元格大小。
- density.thresholds - 设置密度估计器的阈值。
- density.bandwidth - 设置密度估计器的带宽。
- density.contours - 计算密度轮廓。
d3-delaunay
计算一组二维点的 Voronoi 图。
🌐 Compute the Voronoi diagram of a set of two-dimensional points.
- new Delaunay - 为一组点坐标创建一个德劳内三角网。
- Delaunay.from - 为一个点的可迭代对象创建德劳内三角剖分。
- delaunay.points - 点的坐标。
- delaunay.halfedges - 德劳内半边。
- delaunay.hull - 作为点索引的凸包。
- delaunay.triangles - 德劳内三角形。
- delaunay.inedges - 德劳内入边
- delaunay.find - 在德劳内三角剖分中找到最近的点。
- delaunay.neighbors - 一个点在德劳内三角剖分中的邻居。
- delaunay.render - 渲染 Delaunay 三角剖分的边。
- delaunay.renderHull - 渲染凸包。
- delaunay.renderTriangle - 渲染一个三角形。
- delaunay.renderPoints - 渲染这些点。
- delaunay.hullPolygon - 作为点坐标的闭合凸包。
- delaunay.trianglePolygons - 将所有三角形作为多边形迭代。
- delaunay.trianglePolygon - 将三角形作为多边形返回。
- delaunay.update - 就地更新 Delaunay 三角剖分。
- delaunay.voronoi - 计算与德劳内三角剖分相关的voronoi图。
- voronoi.delaunay - Voronoi 图的源 Delaunay 三角剖分。
- voronoi.circumcenters - 三角形的外心。
- voronoi.vectors - voronoi 图中外部(无限)单元的方向。
- voronoi.xmin - 设置范围的 xmin 边界。
- voronoi.ymin - 设置范围的 ymin 边界。
- voronoi.xmax - 设置范围的 xmax 边界。
- voronoi.ymax - 设置范围的 ymax 上限。
- voronoi.contains - 测试一个点是否在 Voronoi 单元格内。
- voronoi.neighbors - 在voronoi图中某个点的邻居。
- voronoi.render - 渲染Voronoi单元的网格。
- voronoi.renderBounds - 渲染范围。
- voronoi.renderCell - 渲染一个voronoi单元格。
- voronoi.cellPolygons - 将所有单元格作为多边形迭代。
- voronoi.cellPolygon - 将一个单元格作为多边形返回。
- voronoi.update - 就地更新Voronoi图。
d3-dispatch
使用命名回调函数分离关注点。
🌐 Separate concerns using named callbacks.
- d3.dispatch - 创建一个自定义事件分发器。
- dispatch.on - 注册或取消注册事件监听器。
- dispatch.copy - 创建一个调度器的副本。
- dispatch.call - 向已注册的监听器分发事件。
- dispatch.apply - 向已注册的监听器分发事件。
d3-drag
使用鼠标或触摸输入拖放 SVG、HTML 或 Canvas。
🌐 Drag and drop SVG, HTML or Canvas using mouse or touch input.
- d3.drag - 创建一个拖拽行为。
- 拖动 - 对选定项应用拖动行为。
- drag.container - 设置坐标系。
- drag.filter - 忽略一些初始输入事件。
- drag.touchable - 设置触摸支持检测器。
- drag.subject - 设置被拖拽对象。
- drag.clickDistance - 设置点击距离阈值。
- drag.on - 监听拖动事件。
- d3.dragDisable - 防止原生拖放和文本选择。
- d3.dragEnable - 启用原生拖放和文本选择。
- event.on - 监听当前手势的拖动事件。
d3-dsv
解析和格式化以分隔符分隔的值,最常见的是 CSV 和 TSV。
🌐 Parse and format delimiter-separated values, most commonly CSV and TSV.
- d3.csvParse - 解析给定的 CSV 字符串,返回一个对象数组。
- d3.csvParseRows - 解析给定的 CSV 字符串,返回行的数组。
- d3.csvFormat - 将给定的对象数组格式化为 CSV。
- d3.csvFormatBody - 将给定的对象数组格式化为 CSV。
- d3.csvFormatRows - 将给定的行数组格式化为 CSV。
- d3.csvFormatRow - 将给定行格式化为 CSV。
- d3.csvFormatValue - 将给定的值格式化为 CSV。
- d3.tsvParse - 解析给定的 TSV 字符串,返回一个对象数组。
- d3.tsvParseRows - 解析给定的 TSV 字符串,返回行的数组。
- d3.tsvFormat - 将给定的对象数组格式化为 TSV。
- d3.tsvFormatBody - 将给定的对象数组格式化为 TSV。
- d3.tsvFormatRows - 将给定的行数组格式化为 TSV。
- d3.tsvFormatRow - 将给定的行格式化为 TSV。
- d3.tsvFormatValue - 将给定的值格式化为 TSV。
- d3.dsvFormat - 为给定的分隔符创建一个新的解析器和格式化器。
- dsv.parse - 解析给定的字符串,返回一个对象数组。
- dsv.parseRows - 解析给定的字符串,返回一个行数组。
- dsv.format - 格式化给定的对象数组。
- dsv.formatBody - 格式化给定的对象数组。
- dsv.formatRows - 格式化给定的行数组。
- dsv.formatRow - 格式化给定的行。
- dsv.formatValue - 格式化给定的值。
- d3.autoType - 自动推断给定对象的值类型。
d3-ease
用于实现平滑动画的缓动函数。
🌐 Easing functions for smooth animation.
- ease - 缓和给定的归一化时间。
- d3.easeLinear - 线性缓动;恒等函数。
- d3.easePolyIn - 多项式缓动;将时间提升到给定的幂。
- d3.easePolyOut - 反向多项式缓动。
- d3.easePoly - easePolyInOut 的别名。
- d3.easePolyInOut - 对称多项式缓动。
- poly.exponent - 指定多项式的指数。
- d3.easeQuadIn - 二次缓动;平方时间。
- d3.easeQuadOut - 反向二次缓动。
- d3.easeQuad - easeQuadInOut 的别名。
- d3.easeQuadInOut - 对称二次缓动。
- d3.easeCubicIn - 立方缓动;立方时间。
- d3.easeCubicOut - 反向立方缓动。
- d3.easeCubic - easeCubicInOut 的别名。
- d3.easeCubicInOut - 对称三次缓动。
- d3.easeSinIn - 正弦缓动。
- d3.easeSinOut - 反向正弦缓动。
- d3.easeSin - easeSinInOut 的别名。
- d3.easeSinInOut - 对称正弦缓动。
- d3.easeExpIn - 指数缓动。
- d3.easeExpOut - 反向指数缓动。
- d3.easeExp - easeExpInOut 的别名。
- d3.easeExpInOut - 对称指数缓动。
- d3.easeCircleIn - 圆形缓动。
- d3.easeCircleOut - 反向圆形缓动。
- d3.easeCircle - easeCircleInOut 的别名。
- d3.easeCircleInOut - 对称圆形缓动。
- d3.easeElasticIn - 弹性缓动,像橡皮筋一样。
- d3.easeElastic - easeElasticOut 的别名。
- d3.easeElasticOut - 反向弹性缓动。
- d3.easeElasticInOut - 对称弹性缓动。
- elastic.amplitude - 指定弹性振幅。
- elastic.period - 指定弹性周期。
- d3.easeBackIn - 预期缓动,就像舞者在跳跃前弯曲膝盖。
- d3.easeBackOut - 反向预期缓动。
- d3.easeBack - easeBackInOut 的别名。
- d3.easeBackInOut - 对称的前瞻性缓动。
- back.overshoot - 指定超调量。
- d3.easeBounceIn - 弹跳缓动,就像橡皮球一样。
- d3.easeBounce - easeBounceOut 的别名。
- d3.easeBounceOut - 反向弹跳缓动。
- d3.easeBounceInOut - 对称弹跳缓动。
d3-fetch
基于 Fetch API 的便捷方法。
🌐 Convenience methods on top of the Fetch API.
- d3.blob - 以 blob 形式获取文件。
- d3.buffer - 将文件获取为数组缓冲区。
- d3.csv - 获取一个逗号分隔值 (CSV) 文件。
- d3.dsv - 获取一个分隔符分隔的值(CSV)文件。
- d3.html - 获取一个 HTML 文件。
- d3.image - 获取一张图片。
- d3.json - 获取一个 JSON 文件。
- d3.svg - 获取一个 SVG 文件。
- d3.text - 获取一个纯文本文件。
- d3.tsv - 获取一个制表符分隔值(TSV)文件。
- d3.xml - 获取一个 XML 文件。
d3-force
使用速度 Verlet 积分的力导向图布局。
🌐 Force-directed graph layout using velocity Verlet integration.
- d3.forceSimulation - 创建一个新的力模拟。
- simulation.restart - 重新加热并重启模拟的计时器。
- simulation.stop - 停止模拟的计时器。
- simulation.tick - 将模拟推进一步。
- simulation.nodes - 设置模拟的节点。
- simulation.alpha - 设置当前的 alpha。
- simulation.alphaMin - 设置最小 alpha 阈值。
- simulation.alphaDecay - 设置阿尔法指数衰减速率。
- simulation.alphaTarget - 设置目标 alpha。
- simulation.velocityDecay - 设置速度衰减率。
- simulation.force - 添加或移除一个力。
- simulation.find - 查找给定位置的最近节点。
- simulation.randomSource - 设置模拟的随机源。
- simulation.on - 添加或移除事件监听器。
- 力 - 施加力。
- force.initialize - 使用给定的节点初始化力。
- d3.forceCenter - 创建一个居中力。
- center.x - 设置中心 x 坐标。
- center.y - 设置中心 y 坐标。
- center.strength - 设置居中力的强度。
- d3.forceCollide - 创建一个圆形碰撞力。
- collide.radius - 设置圆的半径。
- collide.strength - 设置碰撞解决强度。
- collide.iterations - 设置迭代次数。
- d3.forceLink - 创建一个链接力。
- link.links - 设置链接数组。
- link.id - 通过数字索引或字符串标识符连接节点。
- link.distance - 设置链接距离。
- link.strength - 设置链接强度。
- link.iterations - 设置迭代次数。
- d3.forceManyBody - 创建一个多体力。
- manyBody.strength - 设置力的强度。
- manyBody.theta - 设置 Barnes–Hut 近似的精度。
- manyBody.distanceMin - 当节点靠近时限制作用力。
- manyBody.distanceMax - 当节点相距较远时限制力。
- d3.forceX - 创建一个 x 定位力。
- x.strength - 设置力的强度。
- x.x - 设置目标 x 坐标。
- d3.forceY - 创建一个 y 定位力。
- y.strength - 设置力的强度。
- y.y - 设置目标 y 坐标。
- d3.forceRadial - 创建一个径向定位力。
- radial.strength - 设置力的强度。
- radial.radius - 设置目标半径。
- radial.x - 设置目标中心 x 坐标。
- radial.y - 设置目标中心的 y 坐标。
d3-format
格式化数字以供人类理解。
🌐 Format numbers for human consumption.
- d3.format - 默认本地化设置中 locale.format 的别名。
- d3.formatPrefix - 默认语言环境下 locale.formatPrefix 的别名。
- locale.format - 创建数字格式。
- locale.formatPrefix - 创建一个国际单位前缀数字格式。
- d3.formatSpecifier - 解析数字格式说明符。
- new d3.FormatSpecifier - 增强数字格式说明符对象。
- d3.precisionFixed - 计算定点表示法的小数精度。
- d3.precisionPrefix - 计算 SI 前缀表示法的小数精度。
- d3.precisionRound - 计算舍入表示法的有效数字。
- d3.formatLocale - 定义自定义语言环境。
- d3.formatDefaultLocale - 定义默认的区域设置。
d3-geo
地理投影、形状和数学。
🌐 Geographic projections, shapes and math.
路径
🌐 Paths
- d3.geoPath - 创建一个新的地理路径生成器。
- 路径 - 项目并渲染指定的功能。
- path.area - 计算给定要素的投影平面面积。
- path.bounds - 计算给定要素的投影平面边界框。
- path.centroid - 计算给定要素的投影平面重心。
- path.digits - 设置输出精度。
- path.measure - 计算给定特性的投影平面长度。
- path.projection - 设置地理投影。
- path.context - 设置渲染上下文。
- path.pointRadius - 设置显示点要素的半径。
预测
🌐 Projections
- 投影 - 将指定点从球体投射到平面。
- projection.invert - 将指定点从平面反投影到球面。
- projection.stream - 封装指定的流以投影几何体。
- projection.preclip - 设置投影的球面裁剪功能。
- projection.postclip - 设置投影的笛卡尔裁剪函数。
- projection.clipAngle - 设置剪裁圆的半径。
- projection.clipExtent - 设置视口裁剪范围,以像素为单位。
- projection.scale - 设置缩放因子。
- projection.translate - 设置平移偏移。
- projection.center - 设置中心点。
- projection.angle - 设置投影后的旋转。
- projection.reflectX - 反射 x 维度。
- projection.reflectY - 反射y维度。
- projection.rotate - 设置三轴球面旋转角度。
- projection.precision - 设置自适应采样的精度阈值。
- projection.fitExtent - 设置缩放和平移以适应 GeoJSON 对象。
- projection.fitSize - 设置缩放和平移以适应 GeoJSON 对象。
- projection.fitWidth - 设置缩放和平移以适应 GeoJSON 对象。
- projection.fitHeight - 设置缩放和平移以适应 GeoJSON 对象。
原始预测
🌐 Raw projections
- project - 将指定的点从球体投影到平面上。
- project.invert - 将指定点从平面反投影到球面。
- d3.geoProjection - 创建自定义投影。
- d3.geoProjectionMutator - 创建一个可自定义配置的投影。
- d3.geoTransform - 定义自定义几何变换。
- d3.geoIdentity - 缩放、平移或裁剪平面几何。
- d3.geoClipAntimeridian - 剪切穿过反经线的球面几何体。
- d3.geoClipCircle - 将球面几何裁剪为一个小圆。
- d3.geoClipRectangle - 将平面几何图形裁剪到矩形视口。
方位投影
🌐 Azimuthal projections
- d3.geoAzimuthalEqualArea - 方位等面积投影。
- d3.geoAzimuthalEquidistant - 方位等距投影。
- d3.geoGnomonic - 方位投影。
- d3.geoOrthographic - 方位正射投影。
- d3.geoStereographic - 方位立体投影。
锥面投影
🌐 Conic projections
- conic.parallels - 设置两个标准纬线。
- d3.geoConicConformal - 锥形等角投影。
- d3.geoConicEqualArea - 锥形等面积(Albers)投影。
- d3.geoConicEquidistant - 圆锥等距投影。
- d3.geoAlbers - 阿尔伯斯等面积圆锥投影。
- d3.geoAlbersUsa - 一个针对美国的复合阿尔伯斯投影。
圆柱投影
🌐 Cylindrical projections
- d3.geoEquirectangular - 等矩形(平面卡雷)投影。
- d3.geoMercator - 球面墨卡托投影。
- d3.geoTransverseMercator - 横向球面墨卡托投影。
- d3.geoEqualEarth - 等面积地球投影。
- d3.geoNaturalEarth1 - 平地球投影,第1版。
流
🌐 Streams
- d3.geoStream - 将 GeoJSON 对象转换为几何流。
- stream.point - 表示具有指定坐标的点。
- stream.lineStart - 表示一条线或环的开始。
- stream.lineEnd - 表示一条线或环的结束。
- stream.polygonStart - 表示多边形的开始。
- stream.polygonEnd - 表示多边形的结束。
- stream.sphere - 表示球体。
球形
🌐 Spherical shapes
- d3.geoGraticule - 创建一个经纬网生成器。
- graticule - 生成经线和纬线的多线字符串。
- graticule.lines - 生成经线和纬线的 LineStrings 数组。
- graticule.outline - 生成格网范围的多边形。
- graticule.extent - 获取或设置主要和次要范围。
- graticule.extentMajor - 获取或设置主要范围。
- graticule.extentMinor - 获取或设置次要范围。
- graticule.step - 获取或设置主刻度和副刻度间隔。
- graticule.stepMajor - 获取或设置主要步长间隔。
- graticule.stepMinor - 获取或设置次要步长间隔。
- graticule.precision - 获取或设置纬度精度。
- d3.geoGraticule10 - 生成默认的10°全球网格。
- d3.geoCircle - 创建一个圆形生成器。
- circle - 生成一个分段圆作为多边形。
- circle.center - 指定圆心的纬度和经度。
- circle.radius - 指定角半径(以度为单位)。
- circle.precision - 指定分段圆的精度。
球面数学
🌐 Spherical math
- d3.geoArea - 计算给定地理要素的球面面积。
- d3.geoBounds - 计算给定要素的经纬度边界框。
- d3.geoCentroid - 计算给定要素的球面几何中心。
- d3.geoDistance - 计算两点之间的大圆弧距离。
- d3.geoLength - 计算线串的长度或多边形的周长。
- d3.geoInterpolate - 在大圆弧上两个点之间进行插值。
- d3.geoContains - 测试一个点是否在给定的要素内。
- d3.geoRotation - 为指定角度创建一个旋转函数。
d3-hierarchy
用于可视化分层数据的布局算法。
🌐 Layout algorithms for visualizing hierarchical data.
- d3.hierarchy - 从分层数据构建一个根节点。
- node.ancestors - 生成一个祖级数组。
- node.descendants - 生成一个子孙数组。
- node.leaves - 生成一个叶子数组。
- node.find - 在层次结构中查找一个节点。
- node.path - 生成到另一个节点的最短路径。
- node.links - 生成一个链接数组。
- node.sum - 评估并汇总定量值。
- node.count - 计算叶子的数量。
- node.sort - 对所有后代同级节点进行排序。
- node[Symbol.iterator] - 遍历层级结构。
- node.each - 广度优先遍历。
- node.eachAfter - 后序遍历。
- node.eachBefore - 前序遍历。
- node.copy - 复制一个层级。
- d3.stratify - 创建一个新的分层操作符。
- stratify - 从表格数据构建一个根节点。
- stratify.id - 设置节点 ID 访问器。
- stratify.parentId - 设置父节点 ID 访问器。
- stratify.path - 设置路径访问器。
- d3.cluster - 创建一个新的聚类(树状图)布局。
- cluster - 在树状图中布局指定的层级。
- cluster.size - 设置布局大小。
- cluster.nodeSize - 设置节点大小。
- cluster.separation - 设置叶片之间的间距。
- d3.tree - 创建一个新的整洁树布局。
- tree - 以整齐的树状结构布局指定的层级。
- tree.size - 设置布局大小。
- tree.nodeSize - 设置节点大小。
- tree.separation - 设置节点之间的间距。
- d3.treemap - 创建一个新的矩形树图布局。
- treemap - 将指定的层次结构布局为矩形树图。
- treemap.tile - 设置平铺方法。
- treemap.size - 设置布局大小。
- treemap.round - 设置输出坐标是否进行四舍五入。
- treemap.padding - 设置填充。
- treemap.paddingInner - 设置同级元素之间的间距。
- treemap.paddingOuter - 设置父元素和子元素之间的内边距。
- treemap.paddingTop - 设置父元素顶部边缘与子元素之间的间距。
- treemap.paddingRight - 设置父元素右边缘与子元素之间的间距。
- treemap.paddingBottom - 设置父元素底部边缘与子元素之间的间距。
- treemap.paddingLeft - 设置父元素左边缘与子元素之间的间距。
- d3.treemapBinary - 使用平衡二叉树进行平铺。
- d3.treemapDice - 平铺成一行。
- d3.treemapSlice - 平铺成一个垂直列。
- d3.treemapSliceDice - 在切片和切块之间交替。
- d3.treemapSquarify - 使用 Bruls 等人的方法按平方化行进行平铺
- d3.treemapResquarify - 类似 d3.treemapSquarify,但执行稳定更新。
- squarify.ratio - 设置所需的矩形纵横比。
- d3.partition - 创建一个新的分区(冰柱图或旭日图)布局。
- partition - 将指定的层次结构布局为分区图。
- partition.size - 设置布局大小。
- partition.round - 设置输出坐标是否四舍五入。
- partition.padding - 设置填充。
- d3.pack - 创建一个新的圆形打包布局。
- pack - 使用圆形打包布局指定的层级结构。
- pack.radius - 设置半径访问器。
- pack.size - 设置布局大小。
- pack.padding - 设置填充。
- d3.packSiblings - 打包指定的圆数组。
- d3.packEnclose - 包围指定的圆数组。
d3-interpolate
插值数字、颜色、字符串、数组、对象等等!
🌐 Interpolate numbers, colors, strings, arrays, objects, whatever!
值插值
🌐 Value interpolation
- d3.interpolate - 插值任意值。
- d3.interpolateNumber - 插值数字。
- d3.interpolateRound - 插值整数。
- d3.interpolateString - 对包含数字的字符串进行插值。
- d3.interpolateDate - 插值日期。
- d3.interpolateArray - 插值任意值的数组。
- d3.interpolateNumberArray - 插值数字数组。
- d3.interpolateObject - 插值任意对象。
- d3.interpolateBasis - 通过一组值生成 B 样条曲线。
- d3.interpolateBasisClosed - 通过一组数值生成闭合的 B 样条曲线。
- d3.interpolateDiscrete - 从一组值生成一个离散插值器。
- d3.quantize - 从插值器生成均匀间隔的样本。
- d3.piecewise - 从一组数值生成分段线性插值器。
颜色插值
🌐 Color interpolation
- d3.interpolateRgb - 插值 RGB 颜色。
- d3.interpolateRgbBasis - 通过一组颜色生成B样条曲线。
- d3.interpolateRgbBasisClosed - 通过一组颜色生成闭合 B 样条曲线。
- d3.interpolateHsl - 插值 HSL 颜色。
- d3.interpolateHslLong - 插值 HSL 颜色,使用长方法。
- d3.interpolateLab - 插值 Lab 颜色。
- d3.interpolateHcl - 插值 HCL 颜色。
- d3.interpolateHclLong - 插值 HCL 颜色,使用长方法。
- d3.interpolateCubehelix - 插值 Cubehelix 颜色。
- d3.interpolateCubehelixLong - 插值 Cubehelix 颜色,长方式。
- interpolateColor.gamma - 在插值过程中应用伽马校正。
- d3.interpolateHue - 插值色相角。
变换插值
🌐 Transform interpolation
- d3.interpolateTransformCss - 插值二维 CSS 变换。
- d3.interpolateTransformSvg - 插值二维 SVG 变换。
缩放插值
🌐 Zoom interpolation
- d3.interpolateZoom - 在两个视图之间缩放和平移。
- interpolateZoom.rho - 设置缩放插值器的曲率 rho。
d3-path
将 Canvas 路径命令序列化为 SVG。
🌐 Serialize Canvas path commands to SVG.
- d3.path - 创建一个新的路径序列化器。
- path.moveTo - 移动到指定点。
- path.closePath - 关闭当前子路径。
- path.lineTo - 绘制一条直线段。
- path.quadraticCurveTo - 绘制一个二次贝塞尔曲线段。
- path.bezierCurveTo - 绘制一个三次贝塞尔曲线段。
- path.arcTo - 绘制一个圆弧段。
- path.arc - 绘制一个圆弧段。
- path.rect - 绘制一个矩形。
- path.toString - 序列化为 SVG 路径数据字符串。
- d3.pathRound - 创建一个具有固定输出精度的新路径序列化器。
d3-polygon
二维多边形的几何运算。
🌐 Geometric operations for two-dimensional polygons.
- d3.polygonArea - 计算给定多边形的面积。
- d3.polygonCentroid - 计算给定多边形的几何中心。
- d3.polygonHull - 计算给定点的凸包。
- d3.polygonContains - 测试一个点是否在多边形内。
- d3.polygonLength - 计算给定多边形的周长。
d3-quadtree
二维递归空间细分。
🌐 Two-dimensional recursive spatial subdivision.
- d3.quadtree - 创建一个新的、空的四叉树。
- quadtree.x - 设置 x 访问器。
- quadtree.y - 设置 y 访问器。
- quadtree.extent - 扩展四叉树以覆盖一个范围。
- quadtree.cover - 扩展四叉树以覆盖一个点。
- quadtree.add - 向四叉树添加一个数据。
- quadtree.addAll - 向四叉树添加一组数据。
- quadtree.remove - 从四叉树中移除一个数据项。
- quadtree.removeAll - 从四叉树中移除一个数据数组。
- quadtree.copy - 创建四叉树的副本。
- quadtree.root - 获取四叉树的根节点。
- quadtree.data - 从四叉树中检索所有数据。
- quadtree.size - 计算四叉树中的数据数量。
- quadtree.find - 快速在四叉树中找到最近的数据。
- quadtree.visit - 有选择地访问四叉树中的节点。
- quadtree.visitAfter - 访问四叉树中的所有节点。
d3-random
从各种分布中生成随机数。
🌐 Generate random numbers from various distributions.
- d3.randomUniform - 来自均匀分布。
- d3.randomInt - 来自均匀整数分布。
- d3.randomNormal - 来自正态分布。
- d3.randomLogNormal - 来自对数正态分布。
- d3.randomBates - 来源于贝茨分布。
- d3.randomIrwinHall - 来自 Irwin–Hall 分布。
- d3.randomExponential - 来自指数分布。
- d3.randomPareto - 来自帕累托分布。
- d3.randomBernoulli - 来自伯努利分布。
- d3.randomGeometric - 来自几何分布。
- d3.randomBinomial - 来自二项分布。
- d3.randomGamma - 来自伽马分布。
- d3.randomBeta - 来自贝塔分布。
- d3.randomWeibull - 来自韦布尔、冈贝尔或弗雷歇分布。
- d3.randomCauchy - 来自柯西分布。
- d3.randomLogistic - 来自逻辑分布。
- d3.randomPoisson - 来自泊松分布。
- random.source - 设置随机性的来源。
- d3.randomLcg - 一个有种子的伪随机数生成器。
d3-scale
将抽象数据映射到可视化表示的编码。
🌐 Encodings that map abstract data to visual representation.
线性刻度
🌐 Linear scales
将连续的定量域映射到连续的范围。
🌐 Map a continuous, quantitative domain to a continuous range.
- d3.scaleLinear - 创建一个定量线性比例尺。
- linear - 计算对应给定域值的范围值。
- linear.invert - 计算对应于给定范围值的域值。
- linear.domain - 设置输入域。
- linear.range - 设置输出范围。
- linear.rangeRound - 设置输出范围并启用取整。
- linear.clamp - 启用对定义域或值域的限制。
- linear.unknown - 为未知输入设置输出值。
- linear.interpolate - 设置输出插值器。
- linear.ticks - 从域中计算代表值。
- linear.tickFormat - 为人类阅读格式化刻度。
- linear.nice - 将范围扩展到漂亮的整数。
- linear.copy - 创建此刻度的副本。
- d3.tickFormat - 为人类可读格式化刻度。
- d3.scaleIdentity - 创建一个恒等比例尺。
- d3.scaleRadial - 创建一个径向比例尺。
Pow 量表
🌐 Pow scales
- d3.scalePow - 创建一个定量幂尺度。
- d3.scaleSqrt - 创建一个指数为0.5的定量幂尺度。
- pow.exponent - 设置幂指数。
对数刻度
🌐 Log scales
- d3.scaleLog - 创建一个定量的对数刻度。
- log.base - 设置对数的底数。
- log.ticks - 从域中计算代表值。
- log.tickFormat - 为人类阅读格式化刻度。
- log.nice - 将域扩展到漂亮的整数。
Symlog 量表
🌐 Symlog scales
- d3.scaleSymlog - 创建对称对数比例尺。
- symlog.constant - 设置symlog刻度的常数。
时间尺度
🌐 Time scales
- d3.scaleTime - 创建一个时间的线性比例尺。
- time.ticks - 从域中计算代表值。
- time.tickFormat - 为人类可读格式化刻度。
- time.nice - 将域扩展到漂亮的整点时间。
- d3.scaleUtc - 创建一个用于 UTC 的线性比例尺。
顺序刻度
🌐 Sequential scales
将连续的定量域映射到连续的固定插值器。
🌐 Map a continuous, quantitative domain to a continuous, fixed interpolator.
- d3.scaleSequential - 创建一个顺序比例尺。
- sequential.interpolator - 设置比例的输出插值器。
- sequential.range - 设置输出范围。
- sequential.rangeRound - 设置输出范围并启用四舍五入。
- d3.scaleSequentialLog - 创建一个对数序列比例尺。
- d3.scaleSequentialPow - 创建一个幂次序列比例尺。
- d3.scaleSequentialSqrt - 创建一个指数为0.5的幂序列比例尺。
- d3.scaleSequentialSymlog - 创建一个对称对数序列比例尺。
- d3.scaleSequentialQuantile - 使用p分位数变换创建一个连续比例尺。
- sequentialQuantile.quantiles - 返回比例尺的分位数。
分歧的尺度
🌐 Diverging scales
将连续的定量域映射到连续的固定插值器。
🌐 Map a continuous, quantitative domain to a continuous, fixed interpolator.
- d3.scaleDiverging - 创建一个发散比例尺。
- diverging.interpolator - 设置比例的输出插值器。
- diverging.range - 设置输出范围。
- diverging.rangeRound - 设置输出范围并启用四舍五入。
- d3.scaleDivergingLog - 创建一个发散对数比例尺。
- d3.scaleDivergingPow - 创建一个发散幂尺度。
- d3.scaleDivergingSqrt - 创建一个指数为0.5的发散幂刻度。
- d3.scaleDivergingSymlog - 创建一个发散对称对数比例尺。
量化音阶
🌐 Quantize scales
将连续的定量域映射到离散的范围。
🌐 Map a continuous, quantitative domain to a discrete range.
- d3.scaleQuantize - 创建一个均匀量化的线性比例尺。
- 量化 - 计算给定域值对应的范围值。
- quantize.invertExtent - 计算与给定范围值对应的域值。
- quantize.domain - 设置输入域。
- quantize.range - 设置输出范围。
- quantize.thresholds - 返回域内计算出的阈值数组。
- quantize.copy - 创建此音阶的副本。
分位数比例尺
🌐 Quantile scales
- d3.scaleQuantile - 创建一个分位数量化的线性刻度。
- 分位数 - 计算对应于给定域值的范围值。
- quantile.invertExtent - 计算对应给定范围值的域值。
- quantile.domain - 设置输入域。
- quantile.range - 设置输出范围。
- quantile.quantiles - 获取分位数阈值。
- quantile.copy - 创建此刻度的副本。
阈值量表
🌐 Threshold scales
- d3.scaleThreshold - 创建一个任意的量化线性比例尺。
- threshold - 计算对应给定域值的范围值。
- threshold.invertExtent - 计算对应于给定范围值的域值。
- threshold.domain - 设置输入域。
- threshold.range - 设置输出范围。
- threshold.copy - 创建此刻度的副本。
序数量表
🌐 Ordinal scales
将离散域映射到离散的范围。
🌐 Map a discrete domain to a discrete range.
- d3.scaleOrdinal - 创建一个序数比例尺。
- ordinal - 计算对应给定域值的范围值。
- ordinal.domain - 设置输入域。
- ordinal.range - 设置输出范围。
- ordinal.unknown - 为未知输入设置输出值。
- ordinal.copy - 创建此刻度的副本。
- d3.scaleImplicit - 隐式域的一个特殊未知值。
频带刻度
🌐 Band scales
- d3.scaleBand - 创建一个序数带状比例尺。
- band - 计算对应给定域值的波段起始位置。
- band.domain - 设置输入域。
- band.range - 设置输出范围。
- band.rangeRound - 设置输出范围并启用取整。
- band.round - 启用四舍五入。
- band.paddingInner - 设置乐队之间的内边距。
- band.paddingOuter - 设置第一个和最后一个波段之外的内边距。
- band.padding - 设置乐队外部和之间的内边距。
- band.align - 设置波段对齐,如果有多余的空间。
- band.bandwidth - 获取每个波段的宽度。
- band.step - 获取相邻波段起始点之间的距离。
- band.copy - 创建此刻度的副本。
积分等级
🌐 Point scales
- d3.scalePoint - 创建一个序数点比例尺。
- 点 - 计算与给定域值对应的点。
- point.domain - 设置输入域。
- point.range - 设置输出范围。
- point.rangeRound - 设置输出范围并启用四舍五入。
- point.round - 启用四舍五入。
- point.padding - 设置第一个和最后一个点之外的填充。
- point.align - 设置点对齐方式,如果有多余的空间。
- point.bandwidth - 返回零。
- point.step - 获取相邻点起点之间的距离。
- point.copy - 创建此刻度的副本。
d3-scale-chromatic
用于定量、序数和分类比例的色带和调色板。
🌐 Color ramps and palettes for quantitative, ordinal and categorical scales.
分类
🌐 Categorical
- d3.schemeCategory10 - 一个包含十种类别颜色的数组。
- d3.schemeAccent - 一个包含八种类别颜色的数组。
- d3.schemeDark2 - 八种类别颜色的数组。
- d3.schemeObservable10 - 一个包含十种类别颜色的数组。
- d3.schemePaired - 一个包含十二种类别颜色的数组。
- d3.schemePastel1 - 一个包含九种类别颜色的数组。
- d3.schemePastel2 - 八种类别颜色的数组。
- d3.schemeSet1 - 一个包含九种类别颜色的数组。
- d3.schemeSet2 - 八种类别颜色的数组。
- d3.schemeSet3 - 一个包含十二种类别颜色的数组。
- d3.schemeTableau10 - 十种类别颜色的数组。
周期性
🌐 Cyclical
- d3.interpolateRainbow - “不那么激烈”的彩虹
- d3.interpolateSinebow - “sinebow” 平滑彩虹
分叉
🌐 Diverging
- d3.interpolateBrBG - ColorBrewer BrBG 插值器。
- d3.interpolatePiYG - ColorBrewer PiYG 插值器。
- d3.interpolatePRGn - ColorBrewer PRGn 插值器。
- d3.interpolatePuOr - ColorBrewer PuOr 插值器。
- d3.interpolateRdBu - ColorBrewer RdBu 插值器。
- d3.interpolateRdGy - ColorBrewer RdGy 插值器。
- d3.interpolateRdYlBu - ColorBrewer RdYlBu 插值器。
- d3.interpolateRdYlGn - ColorBrewer RdYlGn 插值器。
- d3.interpolateSpectral - ColorBrewer 光谱插值器。
- d3.schemeBrBG - ColorBrewer BrBG 配色方案。
- d3.schemePiYG - ColorBrewer PiYG 配色方案。
- d3.schemePRGn - ColorBrewer PRGn 配色方案。
- d3.schemePuOr - ColorBrewer PuOr 配色方案。
- d3.schemeRdBu - ColorBrewer RdBu 配色方案。
- d3.schemeRdGy - ColorBrewer RdGy 配色方案。
- d3.schemeRdYlBu - ColorBrewer RdYlBu 配色方案。
- d3.schemeRdYlGn - ColorBrewer RdYlGn 配色方案。
- d3.schemeSpectral - ColorBrewer 光谱方案。
顺序
🌐 Sequential
- d3.interpolateBlues -
- d3.interpolateGreens -
- d3.interpolateGreys -
- d3.interpolateOranges -
- d3.interpolatePurples -
- d3.interpolateReds -
- d3.schemeBlues -
- d3.schemeGreens -
- d3.schemeGreys -
- d3.schemeOranges -
- d3.schemePurples -
- d3.schemeReds -
- d3.interpolateBuGn - ColorBrewer BuGn 插值器。
- d3.interpolateBuPu - ColorBrewer BuPu 插值器。
- d3.interpolateCividis - cividis 插值器。
- d3.interpolateCool - 冷色插值器。
- d3.interpolateCubehelixDefault - cubehelix 插值器。
- d3.interpolateGnBu - ColorBrewer GnBu 插值器。
- d3.interpolateInferno - 火焰插值器。
- d3.interpolateMagma - 岩浆插值器。
- d3.interpolateOrRd - ColorBrewer 的 OrRd 插值器。
- d3.interpolatePlasma - 等离子体插值器。
- d3.interpolatePuBu - ColorBrewer PuBu 插值器。
- d3.interpolatePuBuGn - ColorBrewer PuBuGn 插值器。
- d3.interpolatePuRd - ColorBrewer PuRd 插值器。
- d3.interpolateRdPu - ColorBrewer RdPu 插值器。
- d3.interpolateTurbo - 涡轮插值器。
- d3.interpolateViridis - viridis 插值器。
- d3.interpolateWarm - 温暖的插值器。
- d3.interpolateYlGn - ColorBrewer YlGn 插值器。
- d3.interpolateYlGnBu - ColorBrewer YlGnBu 插值器。
- d3.interpolateYlOrBr - ColorBrewer YlOrBr 插值器。
- d3.interpolateYlOrRd - ColorBrewer YlOrRd 插值器。
- d3.schemeBuGn - ColorBrewer BuGn 配色方案。
- d3.schemeBuPu - ColorBrewer BuPu 配色方案。
- d3.schemeGnBu - ColorBrewer GnBu 配色方案。
- d3.schemeOrRd - ColorBrewer OrRd 配色方案。
- d3.schemePuBu - ColorBrewer PuBu 配色方案。
- d3.schemePuBuGn - ColorBrewer PuBuGn 配色方案。
- d3.schemePuRd - ColorBrewer PuRd 配色方案。
- d3.schemeRdPu - ColorBrewer RdPu 配色方案。
- d3.schemeYlGn - ColorBrewer YlGn 配色方案。
- d3.schemeYlGnBu - ColorBrewer YlGnBu 配色方案。
- d3.schemeYlOrBr - ColorBrewer YlOrBr 配色方案。
- d3.schemeYlOrRd - ColorBrewer YlOrRd 配色方案。
d3-selection
Transform the DOM by selecting elements and joining to data.
选择元素
🌐 Selecting elements
- d3.selection - 选择根文档元素。
- d3.select - 从文档中选择一个元素。
- d3.selectAll - 从文档中选择多个元素。
- selection.select - 为每个已选择的元素选择一个子孙元素。
- selection.selectAll - 为每个选定的元素选择多个子孙元素。
- selection.filter - 基于数据过滤元素。
- selection.merge - 将此选择与另一个合并。
- selection.selectChild - 为每个选定的元素选择一个子元素。
- selection.selectChildren - 为每个选定的元素选择子元素。
- selection.selection - 返回所选内容。
- d3.matcher - 测试一个元素是否匹配某个选择器。
- d3.selector - 选择一个元素。
- d3.selectorAll - 选择元素。
- d3.window - 获取节点所属的窗口。
- d3.style - 获取节点当前的样式值。
修改元素
🌐 Modifying elements
- selection.attr - 获取或设置一个属性。
- selection.classed - 获取、添加或移除 CSS 类。
- selection.style - 获取或设置样式属性。
- selection.property - 获取或设置一个(原始)属性。
- selection.text - 获取或设置文本内容。
- selection.html - 获取或设置内部 HTML。
- selection.append - 创建、附加并选择新元素。
- selection.insert - 创建、插入并选择新元素。
- selection.remove - 从文档中移除元素。
- selection.clone - 插入所选元素的克隆。
- selection.sort - 根据数据对文档中的元素进行排序。
- selection.order - 重新排列文档中的元素以匹配所选内容。
- selection.raise - 将每个元素重新排序为其父元素的最后一个子元素。
- selection.lower - 将每个元素重新排序为其父元素的第一个子元素。
- d3.create - 创建并选择一个分离的元素。
- d3.creator - 按名称创建一个元素。
合并数据
🌐 Joining data
- selection.data - 将元素绑定到数据。
- selection.join - 根据数据输入、更新或退出元素。
- selection.enter - 获取 enter 选择(缺少元素的数据)。
- selection.exit - 获取退出选择(缺少数据的元素)。
- selection.datum - 获取或设置元素数据(不进行连接)。
处理事件
🌐 Handling events
- selection.on - 添加或移除事件监听器。
- selection.dispatch - 派发自定义事件。
- d3.pointer - 获取事件的指针位置。
- d3.pointers - 获取事件中指针的位置。
控制流
🌐 Control flow
- selection.each - 为每个元素调用一个函数。
- selection.call - 用此选择调用一个函数。
- selection.empty - 如果此选择为空,则返回 true。
- selection.nodes - 返回所有被选元素的数组。
- selection.node - 返回第一个(非空)元素。
- selection.size - 返回元素的数量。
- selection[Symbol.iterator] - 遍历选择集中的节点。
本地变量
🌐 Local variables
- d3.local - 声明一个新的局部变量。
- local.set - 设置本地变量的值。
- local.get - 获取本地变量的值。
- local.remove - 删除一个局部变量。
- local.toString - 获取本地变量的属性标识符。
命名空间
🌐 Namespaces
- d3.namespace - 为带前缀的 XML 名称加上限定符,例如“xlink:href”。
- d3.namespaces - 内置的 XML 命名空间。
d3-shape
用于可视化的图形基元。
🌐 Graphical primitives for visualization.
弧
🌐 Arcs
圆形或环形扇区,例如饼图或甜甜圈图。
🌐 Circular or annular sectors, as in a pie or donut chart.
- d3.arc - 创建一个新的弧生成器。
- arc - 为给定的数据生成弧线。
- arc.centroid - 计算弧的中点。
- arc.innerRadius - 设置内半径。
- arc.outerRadius - 设置外半径。
- arc.cornerRadius - 设置圆角半径,用于圆角。
- arc.startAngle - 设置起始角度。
- arc.endAngle - 设置结束角度。
- arc.padAngle - 设置相邻弧之间的角度,用于带间隔的弧。
- arc.padRadius - 设置用于线性化填充的半径。
- arc.context - 设置渲染上下文。
- arc.digits - 设置输出精度。
馅饼
🌐 Pies
计算将表格数据集表示为饼图或环形图所需的角度。
🌐 Compute the necessary angles to represent a tabular dataset as a pie or donut chart.
- d3.pie - 创建一个新的饼图生成器。
- pie - 计算给定数据集的弧角。
- pie.value - 设置值访问器。
- pie.sort - 设置排序顺序比较器。
- pie.sortValues - 设置排序顺序比较器。
- pie.startAngle - 设置整体起始角度。
- pie.endAngle - 设置整体结束角度。
- pie.padAngle - 设置相邻弧之间的间隔角。
线路
🌐 Lines
样条线或折线,例如折线图。
🌐 A spline or polyline, as in a line chart.
- d3.line - 创建一个新的折线生成器。
- line - 为给定的数据集生成一行。
- line.x - 设置 x 访问器。
- line.y - 设置 y 访问器。
- line.defined - 设置已定义访问器。
- line.curve - 设置曲线插值器。
- line.context - 设置渲染上下文。
- line.digits - 设置输出精度。
- d3.lineRadial - 创建一个新的径向线生成器。
- lineRadial - 为给定的数据集生成一条线。
- lineRadial.angle - 设置角度访问器。
- lineRadial.radius - 设置半径访问器。
- lineRadial.defined - 设置 defined 访问器。
- lineRadial.curve - 设置曲线插值器。
- lineRadial.context - 设置渲染上下文。
区域
🌐 Areas
一个区域,由边界顶线和基线定义,就像在面积图中一样。
🌐 An area, defined by a bounding topline and baseline, as in an area chart.
- d3.area - 创建一个新的区域生成器。
- 区域 - 为给定的数据集生成一个区域。
- area.x - 设置 x0 和 x1 访问器。
- area.x0 - 设置基线 x 访问器。
- area.x1 - 设置顶线 x 访问器。
- area.y - 设置 y0 和 y1 访问器。
- area.y0 - 设置基线 y 访问器。
- area.y1 - 设置顶线 y 访问器。
- area.defined - 设置已定义的访问器。
- area.curve - 设置曲线插值器。
- area.context - 设置渲染上下文。
- area.digits - 设置输出精度。
- area.lineX0 - 推导区域左边缘的线。
- area.lineY0 - 推导区域顶部边缘的直线。
- area.lineX1 - 为区域的右边缘推导一条线。
- area.lineY1 - 推导区域底边的直线。
- d3.areaRadial - 创建一个新的径向区域生成器。
- areaRadial - 为给定的数据集生成一个区域。
- areaRadial.angle - 设置起始角度和结束角度访问器。
- areaRadial.startAngle - 设置起始角度访问器。
- areaRadial.endAngle - 设置结束角度访问器。
- areaRadial.radius - 设置内半径和外半径访问器。
- areaRadial.innerRadius - 设置内半径访问器。
- areaRadial.outerRadius - 设置外半径访问器。
- areaRadial.defined - 设置 defined 访问器。
- areaRadial.curve - 设置曲线插值器。
- areaRadial.context - 设置渲染上下文。
- areaRadial.lineStartAngle - 导出区域起始边缘的线。
- areaRadial.lineInnerRadius - 导出区域内边缘的线。
- areaRadial.lineEndAngle - 导出区域结束边缘的线。
- areaRadial.lineOuterRadius - 导出一个区域外边缘的线。
曲线
🌐 Curves
在点之间进行插值以生成连续的形状。
🌐 Interpolate between points to produce a continuous shape.
- d3.curveBasis - 一个三次基样条,重复端点。
- d3.curveBasisClosed - 一个闭合的三次基样条曲线。
- d3.curveBasisOpen - 三次基样条曲线。
- d3.curveBundle - 一种直化的三次基样条曲线。
- bundle.beta - 设置束张力 beta。
- d3.curveBumpX - 一个具有水平切线的三次贝塞尔样条曲线。
- d3.curveBumpY - 一个具有垂直切线的三次贝塞尔样条曲线。
- d3.curveCardinal - 三次基数样条,每个端点采用单边差分。
- d3.curveCardinalClosed - 一个闭合的三次基数样条曲线。
- d3.curveCardinalOpen - 三次基数样条曲线。
- cardinal.tension - 设置基数样条张力。
- d3.curveCatmullRom - 一个三次 Catmull–Rom 样条,在每一端使用单边差分。
- d3.curveCatmullRomClosed - 一个闭合的三次 Catmull–Rom 样条曲线。
- d3.curveCatmullRomOpen - 一个三次 Catmull–Rom 样条曲线。
- catmullRom.alpha - 设置 Catmull–Rom 参数 alpha。
- d3.curveLinear - 折线。
- d3.curveLinearClosed - 一条闭合折线。
- d3.curveMonotoneX - 一种三次样条,在x方向保持单调性时,也能在y方向保持单调性。
- d3.curveMonotoneY - 一种三次样条,在给定y单调性的情况下,在x中保持该单调性。
- d3.curveNatural - 一种自然三次样条曲线。
- d3.curveStep - 一个分段常数函数。
- d3.curveStepAfter - 一种分段常数函数。
- d3.curveStepBefore - 一种分段常数函数。
- curve.areaStart - 开始一个新的区域段。
- curve.areaEnd - 结束当前的区域段。
- curve.lineStart - 开始一个新的线段。
- curve.lineEnd - 结束当前的线段。
- curve.point - 在当前的线段上添加一个点。
链接
🌐 Links
从源到目标的平滑三次贝塞尔曲线。
🌐 A smooth cubic Bézier curve from a source to a target.
- d3.link - 创建一个新的链接生成器。
- d3.linkVertical - 创建一个新的垂直链接生成器。
- d3.linkHorizontal - 创建一个新的水平连接生成器。
- 链接 - 生成一个链接。
- link.source - 设置源访问器。
- link.target - 设置目标访问器。
- link.x - 设置点的 x 访问器。
- link.y - 设置点的 y 访问器。
- link.context - 设置渲染上下文。
- link.digits - 设置输出精度。
- d3.linkRadial - 创建一个新的径向链接生成器。
- linkRadial.angle - 设置点 angle 访问器。
- linkRadial.radius - 设置点 radius 访问器。
符号
🌐 Symbols
分类形状编码,例如散点图。
🌐 A categorical shape encoding, as in a scatterplot.
- d3.symbol - 创建一个新的符号生成器。
- 符号 - 为给定的数据生成一个符号。
- symbol.type - 设置符号类型。
- symbol.size - 设置符号的平方像素大小。
- symbol.context - 设置渲染上下文。
- symbol.digits - 设置输出精度。
- d3.symbolsFill - 一个用于填充的内置符号类型数组。
- d3.symbolsStroke - 用于描边的内置符号类型数组。
- d3.symbolAsterisk - 星号;用于笔画。
- d3.symbolCircle - 一个圆;用于填充或描边。
- d3.symbolCross - 一个四臂等长的希腊十字;用于填充。
- d3.symbolDiamond - 一个菱形;用于填充。
- d3.symbolDiamond2 - 一个旋转的正方形;用于描边。
- d3.symbolPlus - 加号;用于描边。
- d3.symbolSquare - 一个正方形;用于填充。
- d3.symbolSquare2 - 一个方形;用于描边。
- d3.symbolStar - 五角星(五角形星);用于填充。
- d3.symbolTriangle - 一个向上的三角形;用于填充。
- d3.symbolTriangle2 - 一个向上的三角形;用于描边。
- d3.symbolWye - Y 形;用于填充。
- d3.pointRadial - 给定角度和半径的点的相对坐标。
- symbolType.draw - 在给定的上下文中绘制此符号。
Stacks
堆叠形状,将一个形状相邻放置,就像堆叠条形图一样。
🌐 Stack shapes, placing one adjacent to another, as in a stacked bar chart.
- d3.stack - 创建一个新的堆叠生成器。
- stack - 为给定的数据集生成一个堆栈。
- stack.keys - 设置键访问器。
- stack.value - 设置值访问器。
- stack.order - 设置顺序访问器。
- stack.offset - 设置偏移访问器。
- d3.stackOrderAppearance - 将最早的序列放在最底部。
- d3.stackOrderAscending - 将最小的数据序列放在最底部。
- d3.stackOrderDescending - 将最大的序列放在底部。
- d3.stackOrderInsideOut - 将较早的序列放在中间。
- d3.stackOrderNone - 使用给定的系列顺序。
- d3.stackOrderReverse - 使用给定系列顺序的反向。
- d3.stackOffsetExpand - 将基线归一化为零,顶线归一化为一。
- d3.stackOffsetDiverging - 正值在零以上;负值在零以下。
- d3.stackOffsetNone - 应用零基线。
- d3.stackOffsetSilhouette - 将流图围绕零居中。
- d3.stackOffsetWiggle - 最小化流图的摆动。
d3-time
一个用于计算人类特殊时间约定的计算器。
🌐 A calculator for humanity’s peculiar conventions of time.
- d3.timeInterval - 实现一个新的自定义时间间隔。
- interval - interval.floor 的别名。
- interval.floor - 向下取整到最接近的边界。
- interval.round - 四舍五入到最近的边界。
- interval.ceil - 向上取整到最接近的边界。
- interval.offset - 按某个间隔偏移日期。
- interval.range - 在间隔边界生成日期范围。
- interval.filter - 创建此区间的过滤子集。
- interval.every - 创建此区间的过滤子集。
- interval.count - 计算两个日期之间的间隔边界数量。
- d3.timeMillisecond - 毫秒间隔,本地时间。
- d3.timeSecond - 秒间隔,本地时间。
- d3.timeMinute - 分钟间隔,本地时间。
- d3.timeHour - 小时间隔,本地时间。
- d3.timeDay - 日间隔,本地时间。
- d3.timeWeek - 基于星期天的周间隔,本地时间。
- d3.timeSunday - 基于星期日的周间隔,本地时间。
- d3.timeMonday - 基于星期一的周间隔,本地时间。
- d3.timeTuesday - 基于星期二的周间隔,本地时间。
- d3.timeWednesday - 基于星期三的周间隔,本地时间。
- d3.timeThursday - 基于星期四的周间隔,本地时间。
- d3.timeFriday - 基于星期五的周间隔,本地时间。
- d3.timeSaturday - 基于星期六的周间隔,本地时间。
- d3.timeMonth - 月间隔,本地时间。
- d3.timeYear - 年间隔,本地时间。
- d3.utcMillisecond - 毫秒间隔,协调世界时(UTC)时间。
- d3.utcSecond - 秒间隔,UTC 时间。
- d3.utcMinute - 分钟间隔,协调世界时(UTC)时间。
- d3.utcHour - 小时间隔,协调世界时(UTC)时间。
- d3.utcDay - 日间隔,UTC 时间。
- d3.utcWeek - 基于星期天的周间隔,UTC 时间。
- d3.utcSunday - 基于星期日的周间隔,协调世界时。
- d3.utcMonday - 基于星期一的周间隔,协调世界时 (UTC) 时间。
- d3.utcTuesday - 基于星期二的周间隔,协调世界时 (UTC) 时间。
- d3.utcWednesday - 基于星期三的周间隔,协调世界时。
- d3.utcThursday - 基于星期四的周间隔,协调世界时。
- d3.utcFriday - 基于星期五的周间隔,UTC 时间。
- d3.utcSaturday - 基于星期六的周间隔,协调世界时。
- d3.utcMonth - 月间隔,UTC 时间。
- d3.utcYear - 年间隔,UTC 时间。
- d3.unixDay - 天间隔,UTC 时间,与月份无关。
- d3.timeMilliseconds - d3.timeMillisecond.range 的别名。
- d3.timeSeconds - d3.timeSecond.range 的别名。
- d3.timeMinutes - d3.timeMinute.range 的别名。
- d3.timeHours - d3.timeHour.range 的别名。
- d3.timeDays - d3.timeDay.range 的别名。
- d3.timeWeeks - d3.timeWeek.range 的别名。
- d3.timeSundays - d3.timeSunday.range 的别名。
- d3.timeMondays - d3.timeMonday.range 的别名。
- d3.timeTuesdays - d3.timeTuesday.range 的别名。
- d3.timeWednesdays - d3.timeWednesday.range 的别名。
- d3.timeThursdays - d3.timeThursday.range 的别名。
- d3.timeFridays - d3.timeFriday.range 的别名。
- d3.timeSaturdays - d3.timeSaturday.range 的别名。
- d3.timeMonths - d3.timeMonth.range 的别名。
- d3.timeYears - d3.timeYear.range 的别名。
- d3.utcMilliseconds - d3.utcMillisecond.range 的别名。
- d3.utcSeconds - d3.utcSecond.range 的别名。
- d3.utcMinutes - d3.utcMinute.range 的别名。
- d3.utcHours - d3.utcHour.range 的别名。
- d3.utcDays - d3.utcDay.range 的别名。
- d3.utcWeeks - d3.utcWeek.range 的别名。
- d3.utcSundays - d3.utcSunday.range 的别名。
- d3.utcMondays - d3.utcMonday.range 的别名。
- d3.utcTuesdays - d3.utcTuesday.range 的别名。
- d3.utcWednesdays - d3.utcWednesday.range 的别名。
- d3.utcThursdays - d3.utcThursday.range 的别名。
- d3.utcFridays - d3.utcFriday.range 的别名。
- d3.utcSaturdays - d3.utcSaturday.range 的别名。
- d3.utcMonths - d3.utcMonth.range 的别名。
- d3.utcYears - d3.utcYear.range 的别名。
- d3.unixDays - d3.unixDay.range 的别名。
- d3.timeTicks - 从时间区间生成代表值。
- d3.utcTicks - 从时间间隔生成代表值。
- d3.timeTickInterval - 从时间间隔生成代表值。
- d3.utcTickInterval - 从时间间隔生成代表值。
d3-time-format
解析和格式化时间,灵感来自 strptime 和 strftime。
🌐 Parse and format times, inspired by strptime and strftime.
- d3.timeFormat - 在默认语言环境下,locale.format 的别名。
- d3.timeParse - 在默认语言环境下,locale.parse 的别名。
- d3.utcFormat - 默认语言环境下 locale.utcFormat 的别名。
- d3.utcParse - 默认语言环境下 locale.utcParse 的别名。
- d3.isoFormat - 一个 ISO 8601 UTC 格式化器。
- d3.isoParse - 一个 ISO 8601 UTC 解析器。
- locale.format - 创建一个时间格式器。
- locale.parse - 创建一个时间解析器。
- locale.utcFormat - 创建一个 UTC 格式化器。
- locale.utcParse - 创建一个 UTC 解析器。
- d3.timeFormatLocale - 定义自定义语言环境。
- d3.timeFormatDefaultLocale - 定义默认语言环境。
d3-timer
一个用于管理数千个并发动画的高效队列。
🌐 An efficient queue for managing thousands of concurrent animations.
- d3.now - 获取当前高分辨率时间。
- d3.timer - 安排一个新的计时器。
- timer.restart - 重置计时器的开始时间和回调。
- timer.stop - 停止计时器。
- d3.timerFlush - 立即执行任何符合条件的定时器。
- d3.timeout - 安排一个在第一次回调时停止的定时器。
- d3.interval - 安排一个定时器,以可配置的周期被调用。
d3-transition
选择 的动画过渡。
🌐 Animated transitions for selections.
- selection.transition - 为所选元素安排一个过渡。
- selection.interrupt - 中断并取消所选元素上的过渡。
- d3.interrupt - 中断给定节点的活动过渡。
- d3.transition - 在根文档元素上安排一个过渡。
- transition.select - 在选定的元素上安排过渡。
- transition.selectAll - 在选定的元素上安排一个过渡。
- transition.selectChild - 为每个选定的元素选择一个子元素。
- transition.selectChildren - 为每个选定的元素选择子元素。
- transition.selection - 返回此过渡的选择。
- transition.filter - 基于数据过滤元素。
- transition.merge - 将此过渡与另一个合并。
- transition.transition - 在此之后安排一个新的过渡。
- d3.active - 选择给定节点的活动过渡。
- transition.attr - 使用默认插值器对给定属性进行补间。
- transition.attrTween - 使用自定义插值器对给定属性进行补间。
- transition.style - 使用默认插值器对给定的样式属性进行补间动画。
- transition.styleTween - 使用自定义插值器对给定的样式属性进行过渡动画。
- transition.text - 在过渡开始时设置文本内容。
- transition.textTween - 使用自定义插值器对文本进行补间动画。
- transition.remove - 在过渡结束时移除选定的元素。
- transition.tween - 在过渡期间运行自定义代码。
- transition.delay - 指定每个元素的延迟(毫秒)。
- transition.duration - 指定每个元素的持续时间(毫秒)。
- transition.ease - 指定缓动函数。
- transition.easeVarying - 指定一个缓动函数工厂。
- transition.end - 当过渡结束时解决的一个承诺。
- transition.on - 等待过渡结束。
- transition.each - 为每个元素调用一个函数。
- transition.call - 使用此过渡调用一个函数。
- transition.empty - 如果此转换为空,则返回 true。
- transition.nodes - 返回所有被选元素的数组。
- transition.node - 返回第一个(非空)元素。
- transition.size - 返回元素的数量。
d3-zoom
使用鼠标或触摸输入平移和缩放 SVG、HTML 或 Canvas。
🌐 Pan and zoom SVG, HTML or Canvas using mouse or touch input.
- d3.zoom - 创建缩放行为。
- 缩放 - 将缩放行为应用到选定的元素上。
- zoom.transform - 更改所选元素的变换。
- zoom.translateBy - 平移所选元素的变换。
- zoom.translateTo - 翻译所选元素的变换。
- zoom.scaleBy - 缩放所选元素的变换。
- zoom.scaleTo - 缩放所选元素的变换。
- zoom.constrain - 覆盖变换约束逻辑。
- zoom.filter - 控制哪些输入事件会触发缩放。
- zoom.touchable - 设置触摸支持检测器。
- zoom.wheelDelta - 覆盖滚轮事件的缩放。
- zoom.extent - 设置视口的范围。
- zoom.scaleExtent - 设置允许的缩放范围。
- zoom.translateExtent - 设置可缩放世界的范围。
- zoom.clickDistance - 设置点击距离阈值。
- zoom.tapDistance - 设置点击距离阈值。
- zoom.duration - 设置缩放过渡的持续时间。
- zoom.interpolate - 控制缩放过渡的插值。
- zoom.on - 监听缩放事件。
- d3.zoomTransform - 获取指定元素的缩放变换。
- transform.scale - 按指定的数量缩放变换。
- transform.translate - 按指定的数量平移变换。
- transform.apply - 将变换应用到给定的点上。
- transform.applyX - 将变换应用于给定的 x 坐标。
- transform.applyY - 将变换应用到给定的 y 坐标。
- transform.invert - 对给定点应用反向变换。
- transform.invertX - 对给定的 x 坐标取消应用变换。
- transform.invertY - 对给定的 y 坐标取消应用变换。
- transform.rescaleX - 将变换应用到 x 轴比例的域上。
- transform.rescaleY - 将变换应用到 y 轴比例的域上。
- transform.toString - 将变换格式化为 SVG 变换字符串。
- d3.zoomIdentity - 身份变换。