Echarts实现github提交记录图

最近改个人博客,看了github的提交记录,是真觉得好看。可以移植到自己的博客上做文章统计

效果如下

在这里插入图片描述

代码如下

<!DOCTYPE html>
<html lang="en" style="height: 100%">

<head>
  <meta charset="utf-8">
</head>

<body style="height: 100%; margin: 0">
  <div id="container" style="height: 100%"></div>
  <script type="text/javascript" src="https://registry.npmmirror.com/echarts/5.5.1/files/dist/echarts.min.js"></script>
  <script type="text/javascript">
    var dom = document.getElementById('container');
    var myChart = echarts.init(dom, null, {
      renderer: 'canvas',
      useDirtyRect: false
    });
    var app = {};

    var option;

    function getVirtualData(year) {
      const date = +echarts.time.parse(year + '-01-01');
      const end = +echarts.time.parse(+year + 1 + '-01-01');
      const dayTime = 3600 * 24 * 1000;
      const data = [];
      for (let time = date; time < end; time += dayTime) {
        data.push([
          echarts.time.format(time, '{yyyy}-{MM}-{dd}', false),
          Math.floor(Math.random() * 50)
        ]);
      }
      return data;
    }
    option = {
      title: {
        top: 30,
        left: 'center',
        text: 'Daily Step Count'
      },
      tooltip: {},
      visualMap: {
        min: 1,
        max: 10,
        splitNumber: '3',
        type: 'piecewise',
        orient: 'horizontal',
        left: 'center',
        show: false,
        top: 65,
        inRange: {
          color: ['#9be9a8', '#40c463', '#30a14e', '#216e39']
        },
      },
      calendar: {
        top: 120,
        left: 30,
        right: 30,
        cellSize: ['auto', 13],
        range: '2024',
        itemStyle: {
          borderWidth: 0.5
        },
        yearLabel: { show: false }
      },
      series: {
        type: 'heatmap',
        coordinateSystem: 'calendar',
        data: getVirtualData('2024')
      }
    };

    if (option && typeof option === 'object') {
      myChart.setOption(option);
    }

    window.addEventListener('resize', myChart.resize);
  </script>
</body>

</html>

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 19:00:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 19:00:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 19:00:03       58 阅读
  4. Python语言-面向对象

    2024-07-13 19:00:03       69 阅读

热门阅读

  1. 【PLC】基本概念

    2024-07-13 19:00:03       19 阅读
  2. package.json 脚本配置使用环境文件

    2024-07-13 19:00:03       22 阅读
  3. ADC分类

    2024-07-13 19:00:03       19 阅读
  4. Linq的常用方法

    2024-07-13 19:00:03       22 阅读
  5. 数据湖仓一体(四)安装hive

    2024-07-13 19:00:03       19 阅读
  6. 简单的网页压力测试

    2024-07-13 19:00:03       20 阅读
  7. 「UCD」浅谈蓝湖Figma交互设计对齐

    2024-07-13 19:00:03       19 阅读