睡眠分期 html

截图

代码

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>睡眠图表</title>
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.2/dist/echarts.min.js"></script>
  <style>
    #chart-container {
      height: 400px;
    }
  </style>
</head>

<body>
  <div id="chart-container"></div>
  <script>
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('chart-container'));
    var xData = [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,2,2];
    var xData_High = [];
    var xData_Low = [];

    for (var i = 0; i < xData.length; i++) {
        xData_Low.push(0.85);
        xData_High.push(xData[i]-1+0.05);
    }
    console.log(' xData ====>',xData_Low, xData_High)

    var option;

    option = {
      color: ['#80FFA5', '#80FFA5'],
      tooltip: { trigger: 'axis', formatter: function (params) {
        let value = Math.floor(params[0].value)
        return `<div> ${value} </div>`
      } },
      grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
      },
      xAxis: [
        {
          type: 'category',
          boundaryGap: false
        }
      ],
      yAxis: [
        {
        type: 'value',
        min: 0,
        max: 4,
        interval: 1, // 每个整数有一个刻度
        axisLabel: {
          formatter: function (value) {
            if (value >= 0 && value < 1) return '清醒';
            if (value >= 1 && value < 2) return '浅睡';
            if (value >= 2 && value < 3) return '深睡';
            if (value >= 3 && value <= 4) return '离床';
            return '';
          },
          margin: 20 // 可适当调整间距
        },
        axisTick: {
          alignWithLabel: true
        }
      },
      ],
      series: [
        {
          type: 'line',
          stack: 'Total',
          smooth: true,
          showSymbol: false,
          data: xData_High
        },
        {
          type: 'line',
          stack: 'Total',
          smooth: true,
          showSymbol: false,
          areaStyle: {
            opacity: 0.8,
            color: '#80FFA5'
          },
          data:xData_Low
        }
      ]
    };

    option && myChart.setOption(option);
  </script>
</body>

</html>
相关推荐
前端大卫1 天前
为什么 React 中的 key 不能用索引?
前端
你的人类朋友1 天前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
小李小李不讲道理1 天前
「Ant Design 组件库探索」五:Tabs组件
前端·react.js·ant design
毕设十刻1 天前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
mapbar_front1 天前
在职场生存中如何做个不好惹的人
前端
牧杉-惊蛰1 天前
纯flex布局来写瀑布流
前端·javascript·css
一袋米扛几楼981 天前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮1 天前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20021 天前
第1章 核心竞争力和职业规划
前端·面试·程序员
excel1 天前
🧩 深入浅出讲解:analyzeScriptBindings —— Vue 如何分析 <script> 里的变量绑定
前端