npm 包 @monfera/d3-sankey 使用教程

阅读时长 5 分钟读完

简介

Sankey 图是一种流程图,用于表示从一个阶段到另一个阶段的过渡或流程。@monfera/d3-sankey 是一个使用 D3.js 构建 Sankey 图的 npm 包。本文将介绍如何使用该包。

安装

在终端中执行以下命令:

示例

以下是一个使用 @monfera/d3-sankey 创建 Sankey 图的示例:

-- -------------------- ---- -------
------ - ------- -------------------- - ---- ---------------------
------ - ------ - ---- ---------------
------ - ------ - ---- -----------

----- --- - --------------

----- ----- - -
  - ----- --- --
  - ----- --- --
  - ----- --- --
  - ----- --- -
--

----- ----- - -
  - ------- ---- ------- ---- ------ -- --
  - ------- ---- ------- ---- ------ -- --
  - ------- ---- ------- ---- ------ -- --
  - ------- ---- ------- ---- ------ --- -
--

----- --------------- - --------
  --------------
  ----------------
  ------------ --- ---- - -- --- - -----

----- - ------ ------------ ------ ----------- - - -----------------
  ------ ----------- -- ----------------- ----
  ------ ----------- -- ----------------- ---
---

----- ---------- - --------------
  ------------------- -- --------
  -------------------------

---
  ------------
  ------------------
  ------------------
  --------
  ---------------
  ---------- - -- -----
  ---------- - -- -----
  --------------- - -- ---- - -----
  -------------- - -- ---- - -----
  ------------- - -- --------------------

---
  ------------
  ------------- -------
  ----------------------- ----
  ---------------
  ------------------
  --------
  ---------------
  ---------- -----------------------
  --------------- - -- --------------------------
  --------------------- - -- ---------

在本示例中,我们使用了名为“svg”的元素来渲染 Sankey 图,并使用 select 方法选择该元素。我们创建了一个包含四个节点和四条边的图,并通过 sankey 方法调用 @monfera/d3-sankey 将其转换为 Sankey 图。我们还为每个节点指定了一个颜色,并使用这些颜色来填充 Sankey 图中的矩形和路径。

API

以下是 @monfera/d3-sankey 的主要 API:

sankey()

创建一个新的 Sankey 生成器,它将图形转换为 Sankey 布局。

sankey({nodes, links})

将输入的图形转换为 Sankey 布局。nodes 是节点数组,links 是链接数组。节点需要具有 name 属性,表示节点的名称。链接需要具有 source 属性和 target 属性,分别表示链接的源节点和目标节点。链接还需要具有 value 属性,表示链接的值。

sankey.nodeAlign([align])

设置节点的对齐方式。align 可以是以下字符串之一:

  • "justify" - 通过拉伸节点将其对齐。
  • "center" - 将节点居中对齐。
  • "left" - 将节点键入父节点的左侧。
  • "right" - 将节点对其父节点的右侧。

sankey.nodeWidth([width])

设置每个节点的宽度。

sankey.nodePadding([padding])

设置节点之间的间距。

sankey.extent([extent])

设置生成器的边界框。extent 是一个二元数组,表示边界框的两个角的 x 和 y 坐标。

sankey.links()

获取 Sankey 布局中的链接数组。

sankey.nodes()

获取 Sankey 布局中的节点数组。

sankey.nodeId([id])

设置用于唯一标识节点的函数。默认情况下,该函数为 d => d.index

结论

在本文中,我们学习了如何使用 @monfera/d3-sankey 创建 Sankey 图。通过使用这个 npm 包,我们可以在网页应用程序中引入其他 D3.js 可视化。尤其是在大数据处理中,Sankey 图可以非常有用。祝您在使用 @monfera/d3-sankey 时一切顺利!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600558ae81e8991b448d5ffb

纠错
反馈