@d3fc/d3fc-element

中文文档
6.2.0发布于 2021/08/02MITESM + CJS零依赖近 30 天下载 6.8万

自定义 HTML 元素,可以更容易地创建反应可视化功能,方便地与其他 UI 框架(如 React, Angular)相融合

中文使用文档
文档目录6 节
  1. 安装
  2. 圆柱体
  3. API 参考
  4. <d3fc-svg> <d3fc-canvas> (中文(简体) )
  5. <d3fc-组>
  6. 活动

d3fc-要素

自定义 HTML 元素,可以更容易地使用 CSS 创建响应性的 D3可视化,方便地与其他UI 框架(如 React,Angular)相融合.

主要 D3FC 软件包

安装

npm install @d3fc/d3fc-element

圆柱体

此软件包需要自定义元素( v1 即 . customElements.define 没有扩展内置( N) 和自定义Event 支持 。 如果您正在瞄准一个不支持这些 API 的浏览器, 可以使用以下的多填充 --

API 参考

<d3fc-svg> <d3fc-canvas> (中文(简体) )

这些元素提供了一个巢穴 svg 或者说 canvas 元素作为D3可视化的渲染表面。 使用 CSS 来大小元素,其像素尺寸会被自动传播到被嵌入元素.

渲染是一个三相过程 自动与动画框架对齐, 计量, (中文(简体) ), 调整大小 (如有需要)和 绘图编辑 调整大小 财务报告和审定财务报表 绘图 相间发出类似命名的事件,以便调用渲染代码.

分裂是允许在任何渲染发生之前,在文档的所有表面进行测量逻辑。 通过防止 DOM 读取(在 计量)与 DOM 写作(应在 绘图) (中文(简体) ).

<d3fc-svg id="x-axis" style="width: 10vw; height: 6vw"></d3fc-svg>
const xScale = d3.scaleLinear()
  .domain([0, 10]);

const xAxis = d3.axisBottom(xScale);

const xAxisContainer = d3.select('#x-axis')
  .on('measure', (event) => {
    const { width } = event.detail;
    xScale.range([0, width]);
  })
  .on('draw', (event) => {
    d3.select(event.currentTarget)
      .select('svg')
      .call(xAxis);
  });

// Now that the event handlers are added, request a redraw
xAxisContainer.node()
  .requestRedraw();

// Some time later...
setTimeout(() => {
  // ...a change requiring a redraw occurs...
  xScale.domain([0, 5]);
  // ...so we request a redraw of the element.
  xAxisContainer.node()
    .requestRedraw();
}, 1000);

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 表面。 。 。 .请求红色raw(a) 与《公约》有关的其他事项

重新绘制到下一个动画框上, 只有当还没有等待。 如果一个电话已经等待,这个电话就会被忽略.

应当指出 requestRedraw 是一个同步的。 它不直接引用绘图事件, 因此事件处理器中出现的任何错误都无法被捕获 .

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 表面。 。 。 .使用DevicePixelRatio 软件(a) 与《公约》有关的其他事项

作为财产可供使用 useDevicePixelRatio 属性 use-device-pixel-ratio。控制表面维度是否乘以 devicePixelDepth 如果有的话.

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 画布。 。 。 .设置WebGlViewport(a) 与《公约》有关的其他事项

说明 d3fc-svg 不支持此属性.

作为财产可供使用 setWebglViewport 属性 set-webgl-viewport。控制表层维度是否额外设置在 WebGL 上下文 视图。 。 。 .

<d3fc-组>

没有视觉表现的元素,用于组合相干渲染表面(<d3fc-svg> (英语)编号 :<d3fc-canvas> (英语)) (中文(简体) ). 它的核心宗旨是多播 组. 请求雷德劳 呼叫后人表面并提供汇总绘图事件。 此外,它还提供助手,允许 自动重排 对窗口的后人表面 resize 事件.

<d3fc-group id="chart" auto-resize style="display: flex; height: 40vw; width: 60vw; flex-direction: column">
  <h1 style="text-align: center">
    A Cartesian Chart
  </h1>
  <div style="flex: 1; display: flex; flex-direction: row">
    <d3fc-svg id="plot-area" style="flex: 1"></d3fc-svg>
    <d3fc-svg id="y-axis" style="width: 5em"></d3fc-svg>
  </div>
  <div style="height: 3em; display: flex; flex-direction: row">
    <d3fc-svg id="x-axis" style="flex: 1; margin-right: 5em"></d3fc-svg>
  </div>
</d3fc-group>

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 组。 。 。 .自动回复 =: 自动回复

作为财产可供使用 autoResize 属性 auto-resize如果 true,倾听 window resize 自动引用 组. 请求雷德劳。 。 。 .

{\fn方正粗倩简体\fs12\an8\1cHFFFF00\b0} 组。 。 。 .请求红色raw(a) 与《公约》有关的其他事项

相当于援引 表面. 请求雷德劳 所有后人群体或表面元素。 此类和后人群体或表面所引发事件的顺序保证按文件顺序排列(即使在这一呼吁之前或之后就其中之一重新绘制请求).

活动

以下自定义 DOM 事件由元素释放出 --

  • measure - 表示该元素已被测量。 一般情况下 measure 事件用于设置 范围 或应用变换.
  • draw - 表示元素需要绘图。 一般情况下 draw 事件用于渲染组件或执行任何有声数据joins.

以下属性可用于 detail 属性 <d3fc-组>) - (英语)

  • width - 以像素表示的表面宽度.
  • height - 以像素计的地表高度.
  • resized - 显示元素是否自上次平分以来已调整大小的旗帜.

注:立即援引是安全的 表面. 请求雷德劳 如果您想要创建动画, 则来自事件处理器。 重新绘制将被安排在之后的动画框架上.

版本与发布记录

@d3fc/d3fc-element 共发布 76 个版本,首次发布于 2018/08/02;过去 12 个月发布了 0 个版本。

版本发布日期距今
6.2.0latest2021/08/025 年前
6.1.22020/09/246 年前
6.1.12020/09/076 年前
6.0.12020/07/146 年前
6.0.02020/04/166 年前
5.4.52020/04/026 年前

关于 @d3fc/d3fc-element 的常见问题

@d3fc/d3fc-element 是什么?

自定义 HTML 元素,可以更容易地创建反应可视化功能,方便地与其他 UI 框架(如 React, Angular)相融合

如何安装 @d3fc/d3fc-element?

在项目目录运行 npm install @d3fc/d3fc-element,或使用 pnpm add / yarn add / bun add。

@d3fc/d3fc-element 支持 TypeScript 吗?

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

@d3fc/d3fc-element 支持 ESM 还是 CommonJS?

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

@d3fc/d3fc-element 可以商用吗?

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

@d3fc/d3fc-element 的下载量有多少?

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

@d3fc/d3fc-element 还在维护吗?

最新版本 6.2.0 发布于 2021/08/02(5 年前);至今共发布 76 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/08/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。