npm 包 d3-sankey-circular 使用教程

d3-sankey-circular 是一个基于 D3.js 的 npm 包,用于创建环形桑基图。本文将详细介绍如何使用这个包,以及一些实际应用的案例。

1. 安装

使用 d3-sankey-circular 前,需要先安装 D3.js。然后在项目根目录下通过 npm 安装 d3-sankey-circular:

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

如果是在浏览器环境中使用,先引入 D3.js 和 d3-sankey-circular:

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

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

2. 使用

2.1 创建环形桑基图

创建环形桑基图需要先创建一个 SVG 容器,然后在容器中添加环形桑基图。

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

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

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

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

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

以上代码会在 id 为 svg-container 的 div 中创建一个 500x500 的 SVG 容器,并在容器中创建一个环形桑基图。

2.2 环形桑基图选项

d3-sankey-circular 支持多种选项,可以通过链式调用方法进行设置。以下是一些常用选项的介绍:

2.2.1 size([width, height])

设置环形桑基图的尺寸,width 和 height 分别表示宽度和高度。默认为 [960, 500]。

2.2.2 nodePadding([padding])

设置节点之间的间距。padding 表示节点之间的间距。默认为 8。

2.2.3 linkSort([sort])

设置连接的排序方法。sort 表示排序方法。默认为 null,即不排序。

2.2.4 alignLinkCircular()

将连接对齐在圆形环上。沿圆形将节点排列成环形扇形,在连接上绘制曲线。

2.2.5 linkPath()

计算连接的路径。此选项将在绘制时用到。

2.3 可视化节点和连接

在 SVG 容器中添加矩形表示节点,添加路径表示连接。

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

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

以上代码会将节点表示为灰色矩形,连接表示为黑色线条。

3. 实际应用

以下是一个实际应用的例子,使用 d3-sankey-circular 绘制了一张环形桑基图,表示各区域电力消耗比例。

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

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

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

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

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

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

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

该代码会创建一个圆形的环形桑基图,展示各区域电力消耗比例。

结论

在本文中,我们学习了如何使用 d3-sankey-circular 绘制环形桑基图。我们了解到如何使用选项自定义环形桑基图,并通过一个实际应用案例展示了 d3-sankey-circular 的使用方法。

可以前往这里查看完整的 d3-sankey-circular 文档。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60067354890c4f727758398a


猜你喜欢

  • npm 包 @tpt-theme/tp-input 使用教程

    介绍 @tpt-theme/tp-input 是一个前端 UI 组件库中的输入框组件,可以快速地实现输入框的功能。本文将介绍该组件的使用方法。 安装 在使用之前需要先安装 @tpt-theme/tp-...

    4 年前
  • npm包 with-redux-types使用教程

    介绍 with-redux-types是一个用于React应用程序的npm包,它可以帮助开发人员更好地管理redux状态。它利用了TypeScript的类型定义来减少人为错误,并允许开发人员更轻松地定...

    4 年前
  • npm 包 loud-tslint-preset 使用教程

    随着前端开发技术的不断发展,工程化已是前端开发必备技能之一。在工程化实践中,代码质量的保证是主要目标之一,而 TSLint 是 TypeScript 代码规范检查工具中的一种。

    4 年前
  • npm 包 react-native-living-pushing 使用教程

    简介 react-native-living-pushing 是一款基于 React Native 的推送工具包。它可以方便地集成到您的 React Native 项目中,提供了多种推送方式,并且支持...

    4 年前
  • npm 包 restful-api-call 使用教程

    在前端开发中,调用 RESTful API 是必不可少的任务。为方便快速地发起 API 请求并处理返回数据,可以使用 npm 包 restful-api-call。

    4 年前
  • npm 包 @rogozhin/sequelize-serialize 使用教程

    随着前端技术日新月异,需要处理海量数据与关系性的应用已经越来越普遍。而 Sequelize 是一个 Node.js ORM(对象关系映射器),提供了强大的数据库操作接口,有助于在应用程序中维护数据库之...

    4 年前
  • npm 包 imgur-upload-cli 使用教程

    背景 在前端开发中,经常需要使用图片来展示界面设计和交互效果等。同时,在开发中,需要将本地的图片上传至服务器来进行使用。但是如果直接通过服务器自带的上传功能上传,通常会比较繁琐并且速度慢。

    4 年前
  • npm 包 vue-sou-ui 使用教程

    在前端开发中,使用现成的 UI 组件库可以大大提高我们的开发效率,减少重复工作量,这也是为什么 UI 组件库备受欢迎的原因之一。本篇文章将介绍一个基于 Vue.js 的 UI 组件库:vue-sou-...

    4 年前
  • npm 包 logkit-js 使用教程

    简介 Logkit-js 是一个用于前端日志打印的 npm 包,它可以帮助开发者记录调试信息,快速定位问题所在。本文将介绍 logkit-js 的使用方法及其 API。

    4 年前
  • npm 包 @pedroclayman/ngx-restangular 使用教程

    在前端领域中,如何快速构建一个高效的 RESTful API 是一个非常重要的问题。近年来,越来越多的前端工程师开始使用 npm 包 @pedroclayman/ngx-restangular 来实现...

    4 年前
  • npm 包 ty-clitool 的使用教程

    ty-clitool 是一个用于快速创建脚手架的 npm 包,在前端开发中有着广泛应用。本文将深入介绍 ty-clitool 的使用及相关技巧,帮助读者更好地掌握这一工具。

    4 年前
  • npm 包 hello-world-ninyancat 使用教程

    介绍 hello-world-ninyancat 是一款可爱的 npm 包,可以在控制台输出一只围着彩虹飞舞的小猫咪,让你的前端开发不再无聊枯燥。 安装 使用以下命令在项目中安装 hello-worl...

    4 年前
  • npm 包 node-tidex-api 使用教程

    node-tidex-api 是一个 Node.js 版本的 Tidex API 封装库。本教程将详细介绍如何使用 node-tidex-api 进行开发。 什么是 Tidex API? Tidex ...

    4 年前
  • npm 包 @flammae/helpers 使用教程

    前言 在前端项目开发中,我们经常需要进行字符串、数组、对象等操作,在此期间,我们可以借助 npm 包来实现一些基础操作,提高开发效率。本文介绍的 npm 包 @flammae/helpers 是一款帮...

    4 年前
  • React-Phone-Input-MUI使用教程

    React-Phone-Input-MUI是一个基于React的用于输入电话号码的UI库,其提供了一个可编辑的电话号码输入框以及一个下拉框,让用户能够方便快速地选择不同国家/地区的电话号码格式。

    4 年前
  • npm 包 @hyperhooks/hyperhooks 使用教程

    前言 在前端开发过程中,我们经常使用各种第三方库和 npm 包,这些库可以帮助我们更快更方便地完成开发任务。其中,@hyperhooks/hyperhooks 是一款非常实用的框架,本文将详细介绍该框...

    4 年前
  • npm 包 sketch-jsonfile 使用教程

    在前端开发中,我们经常需要将设计师提供的 Sketch 文件中的信息提取出来进行开发。而 Sketch 文件是通过 JSON 格式保存的,因此可以使用 npm 包 sketch-jsonfile 将 ...

    4 年前
  • npm 包 vue-keyboard-zzzzz 使用教程

    前言 在前端开发中,键盘事件是非常重要的一部分,然而在处理键盘事件时,我们需要大量的代码来判断按下的键是否是我们需要的,并且还需要考虑浏览器的兼容性。为了简化这一过程,开发者发布了许多优秀的 npm ...

    4 年前
  • npm 包 pushwoosh-geozones-cordova-plugin 使用教程

    1. 简介 pushwoosh-geozones-cordova-plugin 是一个为 Cordova 应用提供地理围栏(地理位置提醒)功能的插件。通过该插件,开发者可以在应用中设置地理围栏,当用户...

    4 年前
  • 介绍npm包circuit-breaker-9

    npm包circuit-breaker-9是用于前端的一种网络断路器插件。它是一个对于前端Web应用程序网络中经常出现的异常情况的重要解决方案。例如:网络状况不佳,HTTP请求响应时间超时以及HTTP...

    4 年前

相关推荐

    暂无文章