npm 包 calendar_heatmap 使用指南

阅读时长 6 分钟读完

前言

在前端开发中,时间类数据可视化一直是一个非常重要的主题。而在时间可视化中,日历热力图被广泛应用。calendar_heatmap npm 包正是一个简单易用的用于生成日历热力图的工具。

本文将介绍如何使用 calendar_heatmap npm 包生成漂亮的日历热力图。

安装

calendar_heatmap 包是一个 npm 包,因此可以通过 npm 命令来安装:

使用

基本参数

生成日历热力图的基本方法是使用 CalendarHeatmap() 方法,并输入一个包含按天分组的 JavaScript 对象。这个对象的 key 是日期(例如:“2021-10-01”),value 是这一天的值。下面是一个例子:

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

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

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

这段代码将生成一个 width 为 800,height 为 200,每个方格大小为 20px * 20px 的日历热力图。颜色分为四个等级,分别为白色、蓝色、深蓝色和深蓝色。当鼠标滑过每个方格时,会显示这一天的日期和对应的值。

参数详解

  • target:string,目标元素的 CSS 选择器,例如 "#calendar"。表示要将日历热力图放在哪个元素中。
  • data:object,以日期为 key,以对应的值为 value 的 JavaScript 对象。例如:{"2022-05-01":3, "2022-05-02":4}。
  • color:array,包含了数据颜色的渐变,越靠近左边颜色浅,越靠近右边颜色深。例如:["#E6F7FF", "#BAE7FF", "#91D5FF", "#69C0FF", "#40A9FF"]。
  • cellSize:number,每个方格的大小。默认是 10。
  • margin:number,用于设置每个方格之间的外边距。默认是 1。
  • legend:object,用于设置颜色渐变的图例,有以下子属性:
    • width:number,图例的宽度。
    • height:number,图例的高度。
    • marginLeft:number,图例距离热力图左侧的距离。
    • marginTop:number,图例距离热力图上侧的距离。
    • direction:string,渐变的方向。取值可以是 "horizontal" 和 "vertical"。
  • tooltip:function,用于自定义每个方格的 tooltip。函数的参数是日期和对应的值,必须返回一个 HTML 字符串。例如:function(date, value) { return '<div>' + date + ': ' + value + '</div>';}

示例

下面是一个完整的示例代码:

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

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

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

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

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

效果如下所示:

总结

calendar_heatmap 是一个非常好用的 npm 包,可以快速生成漂亮的日历热力图。在前端开发中,时间可视化一直是重要主题,日历热力图无疑是时间可视化的一个精美例子。相信通过这篇文章的介绍,你已经可以快速上手并应用到你的项目当中。

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

纠错
反馈