npm 包 sunburst.js 使用教程

Sunburst.js 是一个用于生成漂亮的旭日图的 JavaScript 库,简单易用,丰富的样式和可配置性可以让你快速定制出复合业务需求的旭日图。本文将介绍如何使用 npm 包 sunburst.js 进行旭日图的创建并进行实际的项目开发。

安装 sunburst.js

使用 npm 包管理工具可以方便快捷地安装 sunburst.js。

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

安装完成后,就可以在项目中使用 sunburst.js 了。

创建旭日图

下面我将以一个简单的例子来创建旭日图。

HTML 代码

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

JavaScript 代码

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

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

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

我们使用 sunburst 函数创建了一个旭日图,把它插入到了 ID 为 chart 的元素中,然后传入一个数据对象作为参数。

配置项

sunburst.js 提供了丰富的配置项,可以用于调整旭日图的样式、大小、文字tooltip展示等方面。下面是一些常用的配置项,更多参数定义可查看官网。

element

需要在哪个元素内创建旭日图,使用选择器指定,例如 #chart.chart

data

绘制旭日图所需要的数据,格式为 json 对象,包括 name、value 和 children 三个属性。其中,value 是数值,用于表达占比,name 是字符串,表示名称。

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

colors

节点颜色,格式对应 data 对象的层级。可选。

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

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

size

旭日图的宽和高。

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

radius

旭日图的半径,为数值或者表示百分比的字符串。

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

tooltip

鼠标悬停时显示的提示文本。

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

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

更多配置项可以在 github 上找到。

示例代码

下面我们演示一个高级使用方法,结合 csv 格式的数据通过 sunburst.js 叠加展示多层分组的旭日图,并调整每个分组的颜色和大小。

HTML 代码

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

JavaScript 代码

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

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

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

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

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

data.csv:

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

结语

sunburst.js 是一款使用简单,扩展性好,针对交互需求进行优化的旭日图插件。旭日图是一种很好的可视化方案,可以用于分析、展示各种数据之间的分层关系。在实际应用中,可以根据需要调整颜色大小等属性,实现更好的定制化效果。

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


猜你喜欢

  • npm 包 svjs-message-broker 使用教程

    介绍 svjs-message-broker 是一个能够非常快速地在 JavaScript 应用程序之间传递消息的 npm 包。它基于发布/订阅模式(Pub/Sub),允许你创建多个通道,然后订阅和发...

    4 年前
  • npm 包 gw-commit-lint 使用教程

    随着前端应用不断增多,我们面临的代码质量问题变得越来越重要。要保证代码质量,让代码风格统一,我们可以使用 gw-commit-lint 这个 npm 包来进行代码审查和约束。

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

    介绍 npm 是 NodeJS 世界中的重要一环,你可以通过它下载并安装他人编写的代码包,也可以将自己编写的代码包发布到 npm 供他人使用。其中,tools-lib-js 是一款优秀的 npm 包,...

    4 年前
  • npm 包 ts-rdf-mapper 使用教程

    随着前端技术的更新换代,越来越多的开发者开始使用 TypeScript 进行开发。而随之而来的问题是如何在 TypeScript 中使用 RDF 数据,特别是如何将 RDF 数据映射到 TypeScr...

    4 年前
  • NPM 包 DJY 使用教程

    什么是 DJY? DJY 是一款前端工具包,提供了许多简单易用的 API,可以快速地构建一个前端项目。这个工具包包含了许多前端库,如 React、Vue.js 等。

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

    前言 随着前端开发的不断发展,我们常常会需要用到各种各样的工具来辅助自己完成项目开发。而 npm 作为一个非常流行的包管理器,在前端开发中占据着不可替代的地位。本篇文章将向大家介绍一款十分实用的 np...

    4 年前
  • npm 包 cs-select 使用教程

    前言 作为前端开发者,我们经常需要使用各种第三方库来完成我们的工作。在这其中,npm 是目前最为流行的 Node.js 包管理器。其中一个有用的包就是 cs-select,这是一个可以自定义下拉框样式...

    4 年前
  • npm 包 ngx-tree-dnd 使用教程

    在前端开发中,经常使用到树形结构来展示数据。ngx-tree-dnd 是一个优秀的树形拖拽组件,使用起来非常方便。本文将会介绍如何使用 ngx-tree-dnd,并附带详细的示例代码,让大家更好地理解...

    4 年前
  • npm包vue-infinite-list使用教程

    介绍 vue-infinite-list 是一个用于Vue.js的UI组件库,提供了一种支持无限滚动的列表组件,它能够高效地加载大量数据,从而提升了用户体验。使用vue-infinite-list 可...

    4 年前
  • npm 包 zm-swagger-to-ts 使用教程

    在前端开发中,我们经常需要与后端进行接口数据交互。Swagger 是一种常用的 API 规范,能够帮助我们描述接口数据的格式和请求方式。而 TypeScript 是一种强类型语言,能够帮助我们更好地管...

    4 年前
  • npm 包 Justine-Form 使用教程

    在前端开发中,表单是非常常见且十分重要的一部分。为了更加方便地处理表单,我们可以使用第三方库和工具。在本文中,我们将介绍一个非常有用的 npm 包,就是 Justine-Form,它可以帮助我们更加便...

    4 年前
  • npm 包 develar-typescript-json-schema 使用教程

    简介 develar-typescript-json-schema 是 TypeScript 代码生成 JSON SCHEMA 的 npm 包,可以帮助开发者快速地生成 JSON SCHEMA。

    4 年前
  • npm 包 aurelia-quill-plugin 使用教程

    随着 Web 应用的不断发展,前端领域的技术也不断发展变化。其中,富文本编辑器是一个经常使用的页面组件。aurelia-quill-plugin 就是一个基于 Quill.js 封装的富文本编辑器组件...

    4 年前
  • npm 包 web-bluetooth-terminal 使用教程

    前言 Web Bluetooth 是能够在网页中直接与蓝牙设备通信的 API,让网页能够直接访问一些传统上只有原生应用程序才具备的硬件设备,这一点让它非常特别。在 web-bluetooth-term...

    4 年前
  • npm 包 view-state-store 使用教程

    在前端开发中,经常会遇到需要存储和管理组件状态的情况。而 npm 包 view-state-store 就是一个能够帮助我们统一管理并存储组件状态的工具。 在这篇教程中,我们将学习如何使用 view-...

    4 年前
  • npm 包 progressive-loading-bar-8 使用教程

    在前端开发中,我们常常需要实现 loading 动画来提高用户体验。对于单页应用(SPA)而言,优美的 progress bar 也是必不可少的动效之一。而 npm 包 progressive-loa...

    4 年前
  • npm包 Mremita使用教程

    在前端开发中,使用npm包管理器来安装和引用开源代码是必不可少的一步。本文将介绍一款npm包 Mremita的用法和使用教程,帮助你在项目开发中更好地利用这个实用的工具。

    4 年前
  • npm 包 agendash 使用教程

    1. 前言 在前端开发中,我们经常使用一些工具来提高效率和开发体验。其中 npm 是前端开发中最常用的模块管理器。本文将介绍一款 npm 包,即 agendash,它可以帮助我们更好地管理定时任务。

    4 年前
  • npm 包 bespoke-markdownit 使用教程

    1. 背景 在前端开发中,常常需要将 Markdown 文本转换成 HTML 文本,以便在页面上展示。但是,传统的 Markdown 转换器有很多不足之处,比如不支持定制化程度高、语法有限等问题。

    4 年前
  • npm 包 aphrodite-mobile 使用教程

    npm 包 aphrodite-mobile 使用教程 在前端开发的过程中,有许多需要在不同的界面上应用同一种样式的情况。这就需要我们应用样式表来进行统一管理。但是,面对样式表的开发和使用,我们不仅需...

    4 年前

相关推荐

    暂无文章