# @d3fc/d3fc-extent 中文文档

规范地址：https://npmcn.com/package/%40d3fc/d3fc-extent/

版本：4\.0\.2
npm 元数据更新时间：2022-04-05T02:30:54.677Z
中文译文更新时间：2026-11-11T08:07:55.667Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40d3fc/d3fc-extent
原文对照：https://npmcn.com/package/%40d3fc/d3fc-extent/?lang=original
项目主页：https://github.com/d3fc/d3fc
源码仓库：https://github.com/d3fc/d3fc

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：40.6 kB，15 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：d3-array \*
- 首次发布：2018-08-02T13:50:34.830Z
- 最新版本发布：2020-08-29T17:54:11.164Z
- 近 30 天下载量：61855（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：18（近 12 个月 0 个）

## 中文简介

扩展 d3 范围功能, 允许多个存取器、 粘贴和日期支持

## 安装

```sh
npm install @d3fc/d3fc-extent
```

也可以使用：`pnpm add @d3fc/d3fc-extent`、`yarn add @d3fc/d3fc-extent`、`bun add @d3fc/d3fc-extent`

## README

# d3fc 宽度

扩展 D3 范围功能( 发现于 [d3 阵列](https://github.com/d3/d3-array#extent)) 允许粘贴、多个存取器和日期支持

[主要 D3FC 软件包](https://github.com/d3fc/d3fc)

## 安装

```bash
npm install @d3fc/d3fc-extent
```

## API 参考

-   [线性](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear)
-   [时间](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time)
-   [日期](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-date)

### 线性

计算可用于设定比例范围的数据组的范围。 也可以以下述方式选择性地储存数据。 内部利用 `d3-array`是因为 [`min`](https://github.com/d3/d3-array#min) 财务报告和审定财务报表 [`max`](https://github.com/d3/d3-array#max) 方法。 。 .

```javascript

import { extentLinear } from 'd3fc-extent';

const data = [{ x: 1 }, { x: 2 }, { x: 4 }, { x: 8 }, { x: 16 }];

const extent = extentLinear()
  .accessors([d => d.x])
  .pad([1, 4])
  .padUnit('domain');

extent(data);

// [0, 20]

```

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear)页:1.**宽度**(a) 与《公约》有关的其他事项

构造一个新的线性范围计算器.

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_accessors)_线性_。 。 。 .**访问者**(\[_访问者_)

若为 _访问者_ ,设置指定数组的值存取器数组,并返回此范围实例。 存取器在计算范围之前被应用于每个数据值. 访问者返回的值必须是斯卡尔值或一系列斯卡尔值。 默认身份函数(即:. `d => d`) (中文(简体) ). 若为 _访问者_ 未指定,返回默认的当前值存取器数组 `[]`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_pad)_线性_。 。 。 .**选项**(\[_数值_)

若为 _数值_ 指定,设定应用到最小值和最大值、指定数组的粘贴量 `[minPad, maxPad]` 并返回此范围实例。 这些值的单位由 [垫单](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_padUnit)。 。 。 . 若为 _数值_ 未指定,返回默认的当前补丁值阵列 `[0, 0]`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_padUnit)_线性_。 。 。 .**垫单**(\[_价值_)

若为 _价值_ ,设置 [选项](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_pad) 数值适用于最小值和最大值,并返回此范围实例。 可能的数值是:

-   “%” - 应用值占范围百分比的默认行为,例如: `[0.5, 0.5]` 将计算范围增加一倍.
-   “ domain” - 指定的粘贴值直接被应用到计算范围内 . 若为 _价值_ 未指定,返回默认的当前粘贴单元数组 `percent`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_symmetricalAbout)_线性_。 。 。 .**对称性**(\[_价值_)

若为 _价值_ 中指定,设置以范围为中心围绕的值,并返回此范围实例。 也可以设定为 `null` 以禁用中枢。 请注意,此选项在粘贴前应用 . 若为 _价值_ 未指定,返回默认的当前中心值 `null`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_include)_线性_。 。 。 .**包含**(\[_数值_)

若为 _数值_ ,设置附加值的数组,在计算范围内包含到指定的数组中,并返回此范围实例。 这允许始终包括一个来源(例如:. `[0]`)或指定必须显示的最小范围(例如:. `[10, 20]`) (中文(简体) ). 包含的注释数值在之前应用 [对称性](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear_symmetricalAbout)。 。 。 . 若为 _数值_ 未指定,返回包含值的当前数组,默认值 `[]`。 。 。 .

### 时间

计算可用于设定比例范围的数据组的范围。 也可以以下述方式选择性地储存数据。 函数等于 [线性](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-linear) 不过 `Date` 数值.

```javascript

import extentTime from 'd3fc-extent';

const data = [{ x: new Date(2016, 0, 1) }, { x: new Date(2016, 0, 11) }];

const extent = extentTime()
  .accessors([d => d.x])
  .pad([0, 0.2]);

extent(data);

// [ 2016-01-01T00:00:00.000Z, 2016-01-13T00:00:00.000Z ]

```

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time)页:1.**时间**(a) 与《公约》有关的其他事项

构造一个新的时间范围计算器.

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_accessors)_时间_。 。 。 .**访问者**(\[_访问者_)

若为 _访问者_ ,设置指定数组的值存取器数组,并返回此范围实例。 存取器在计算范围之前被应用于每个数据值. 返回的值是访问者必须是 `Date` 或数组 `Date`s. 默认身份函数(即:. `d => d`) (中文(简体) ). 若为 _访问者_ 未指定,返回默认的当前值存取器数组 `[]`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_pad)_时间_。 。 。 .**选项**(\[_数值_)

若为 _数值_ 指定,设定应用到最小值和最大值、指定数组的粘贴量 `[minPad, maxPad]` 并返回此范围实例。 这些值的单位由 [垫单](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_padUnit)。 。 。 . 若为 _数值_ 未指定,返回默认的当前补丁值阵列 `[0, 0]`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_padUnit)_时间_。 。 。 .**垫单**(\[_价值_)

若为 _价值_ ,设置 [选项](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_pad) 数值适用于最小值和最大值,并返回此范围实例。 可能的数值是:

-   “%” - 应用值占范围百分比的默认行为,例如: `[0.5, 0.5]` 将计算范围增加一倍.
-   “ domain” - 以毫秒为单位指定的粘接值直接被应用到计算的范围内. 若为 _价值_ 未指定,返回默认的当前粘贴单元数组 `percent`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_symmetricalAbout)_时间_。 。 。 .**对称性**(\[_价值_)

若为 _价值_ 中指定,设置以范围为中心围绕的值,并返回此范围实例。 也可以设定为 `null` 以禁用中枢。 请注意,此选项在粘贴前应用 . 若为 _价值_ 未指定,返回默认的当前中心值 `null`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time_include)_时间_。 。 。 .**包含**(\[_数值_)

若为 _数值_ ,设置附加值的数组,在计算范围内包含到指定的数组中,并返回此范围实例. 若为 _数值_ 未指定,返回包含值的当前数组,默认值 `[]`。 。 。 .

### 日期

**折旧 - 使用 [时间](https://npmcn.com/package/%40d3fc/d3fc-extent/#readme-time) 换句话说.**

## 常见问题

### @d3fc/d3fc-extent 是什么？

扩展 d3 范围功能, 允许多个存取器、 粘贴和日期支持

### 如何安装 @d3fc/d3fc-extent？

在项目目录运行 npm install @d3fc/d3fc-extent，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：d3-array（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @d3fc/d3fc-extent 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/d3fc\_\_d3fc-extent 是否存在。

### @d3fc/d3fc-extent 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @d3fc/d3fc-extent 可以商用吗？

@d3fc/d3fc-extent 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @d3fc/d3fc-extent 的下载量有多少？

根据 npm 官方下载统计，@d3fc/d3fc-extent 在 2026/10/11 – 2026/11/09 这 30 天内被下载 61,855 次，日均约 2,062 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @d3fc/d3fc-extent 还在维护吗？

最新版本 4\.0\.2 发布于 2020/08/30（6 年前）；至今共发布 18 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/08/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

