首页 > 其他分享 >echarts 睡眠时间段+日期

echarts 睡眠时间段+日期

时间:2024-10-31 11:08:50浏览次数:1  
标签:睡眠 00 10 2024 时间段 date let echarts minute

效果图:

关键方法代码:

const initChartDataTwo = (scollectT, dataL) => {
//给一个测试的数据

scollectT = [
"2024-10-29",
"2024-10-25",
"2024-10-24",
"2024-10-22",
"2024-10-18",
"2024-10-16",
"2024-09-18"
]

dataL= 

[
{
"sleepTime": "2024-10-28 21:00:00",
"weekupTime": "2024-10-29 15:00:00",
"sleepDuration": "18.0",
},
{
"sleepTime": "2024-10-25 13:20:00",
"weekupTime": "2024-10-25 15:35:00",
"sleepDuration": "2.25",
},
{
"sleepTime": "2024-10-24 13:00:00",
"weekupTime": "2024-10-24 15:00:00",
"sleepDuration": "2.0",
},
{
"sleepTime": "2024-10-22 01:00:00",
"weekupTime": "2024-10-22 08:00:00",
"sleepDuration": "7.0",
},
{
"sleepTime": "2024-10-17 20:00:00",
"weekupTime": "2024-10-18 06:00:00",
"sleepDuration": "10.0",
},
{
"sleepTime": "2024-10-15 20:00:00",
"weekupTime": "2024-10-15 23:00:00",
"sleepDuration": "3.0",
},
{
"sleepTime": "2024-09-17 20:00:00",
"weekupTime": "2024-09-18 06:00:00",
"sleepDuration": "10.0",
}
]

  let timeData = dataL.map((item) => {     return item.endTime   })   let timeDuration = dataL.map((item) => {     return Number(item.sleepDuration)   })   let chartMain = document.getElementById('chartMain')   myChart = echarts.getInstanceByDom(chartMain)   if (!myChart) {     myChart = echarts.init(chartMain)   }   // 修改echarts 图表 option   const option = {     tooltip: {       trigger: 'axis',       axisPointer: {         type: 'shadow'       },       formatter: function (params) {         let sleepTime = dataL[params[0].dataIndex].Hours         let sleepDuration = dataL[params[0].dataIndex].sleepDuration         return (           '入睡时间:' + sleepTime + '<br/>' + '睡眠时长:' + ' : ' + Number(sleepDuration) + '小时'         )       }     },     grid: {       left: '3%',       right: '4%',       bottom: 55,       containLabel: true     },     xAxis: {       type: 'category',       data: scollectT     },     dataZoom: [       {         show: true,         height: 35,         xAxisIndex: [0],         bottom: 15,         startValue: timeData.length - 9,         endValue: timeData.length,         handleIcon:           'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',         handleSize: '110%',         handleStyle: {           color: '#d3dee5'         },         textStyle: {           color: '#fff'         },         borderColor: '#90979c'       },       {         type: 'inside',         show: true,         height: 15       }     ],     yAxis: {       type: 'value',       min: 0,       max: 24,       interval: 4,       axisLabel: {         show: true,         formatter: function (value) {           if (value - 18 < 0) {             if (Math.abs(value - 18) < 10) {               return '0' + Math.abs(value - 18) + ':00'             } else {               return Math.abs(value - 18) + ':00'             }           } else {             if (Math.abs(42 - value) < 10) {               return '0' + Math.abs(42 - value) + ':00'             } else {               return Math.abs(42 - value) + ':00'             }           }         }       }     },     series: [       {         name: 'Placeholder',         type: 'bar',         stack: 'Total',         silent: true,         itemStyle: {           borderColor: 'transparent',           color: 'transparent'         },         barWidth: '20',         emphasis: {           itemStyle: {             borderColor: 'transparent',             color: 'transparent'           }         },         data: timeData       },       {         name: 'Income',         type: 'bar',         stack: 'Total',         barWidth: '20',         label: {           show: false,           position: 'top'         },         data: timeDuration       }     ]   }   myChart.setOption(option) }

 //给两个时间的方法

const formatDateTime = (timeStamp, returnType) => {   const date = new Date(timeStamp)   //   date.setTime(timeStamp * 1000)   const y = date.getFullYear()   let m = date.getMonth() + 1   m = m < 10 ? '0' + m : m   let d = date.getDate()   d = d < 10 ? '0' + d : d   let h = date.getHours()   h = h < 10 ? '0' + h : h   let minute = date.getMinutes()   let second = date.getSeconds()   minute = minute < 10 ? '0' + minute : minute   second = second < 10 ? '0' + second : second   let dateTime = ''   if (returnType == 'hours') {     dateTime = Number(date.getHours())   } else if (returnType == 'date') {     dateTime = y + '-' + m + '-' + d   } else if (returnType == 'hoursStr') {     dateTime = h + ':' + minute   } else if (returnType == 'check-Y-D') {     dateTime = m + '/' + d   } else if (returnType == 'year') {     dateTime = y   }   return dateTime } const formatDateTimeTwo = (timeStamp, timeStampTwo, returnType) => {   let date = new Date(new Date(timeStampTwo).getTime() - new Date(timeStamp).getTime())   const y = date.getFullYear()   let m = date.getMonth() + 1   m = m < 10 ? '0' + m : m   let d = date.getDate()   d = d < 10 ? '0' + d : d   let h = date.getHours()   h = h < 10 ? '0' + h : h   let minute = date.getMinutes()   let second = date.getSeconds()   minute = minute < 10 ? '0' + minute : minute   second = second < 10 ? '0' + second : second   let dateTime = ''   if (returnType == 'hours') {     dateTime = Number(date.getHours()) - 12   }   //   else if (returnType == 'date') {   //     dateTime = y + '-' + m + '-' + d   //   }   return dateTime }

标签:睡眠,00,10,2024,时间段,date,let,echarts,minute
From: https://www.cnblogs.com/dreammiao/p/18517312

相关文章

  • ECHARTS-水球图按照结果展示不同颜色
    结果演示:<el-colstyle="height:100%"><divstyle="height:100%;padding-top:50px;padding-right:25px;&......
  • ECharts饼图-日历饼图,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览 二、视......
  • JS和ECharts的一些分享
    @TJS和ECharts的一些分享OC制作动态天气预测图表withEChartsandJavaScript在现代网页开发中,将复杂的数据视觉化通常能极大地增强用户体验。本文将使用ECharts,一款强大的开源可视化库,配合JavaScript来创建一个根据不同天气条件显示不同的动态液体填充图表。这种图表......
  • 毕业设计:python哔哩哔哩数据可视化分析系统 B站 bilibili数据 Flask框架 Echarts可视
    毕业设计:python哔哩哔哩数据可视化分析系统B站bilibili数据Flask框架Echarts可视化(源码)✅1、项目介绍技术栈:python语言、Flask框架、Echarts可视化、MySQL数据库、词云图、HTML2、项目界面(1)系统首页—数据概况(2)B站评论弹幕分析(3)B站作者分析(4)B站视频可视化分......
  • 基于Pyecharts的数据可视化开发(二)调用通义千问api分析爬虫数据
            上一篇博客做了关于“广州市2023年天气情况”的数据爬取,并保存为.csv文件。下一步是想用生成的.csv文件,直接调用大模型api进行分析,得出结论。通过调研,阿里云的通义千问大模型qwen-long可以实现对文件数据的分析。        通义千问大模型提供了API,可......
  • ECharts 饼状图,圆心文字提示,默认显示第一个;点击外部数据高亮放大echarts饼图,点击饼状
    描述得乱七八糟的,其实就是外面有个列表,类似于图列,但是他特别复杂我就把图里给写在外面了差不多长这样需求是这样的,点击饼状图,外面的列表高亮;点击外面的列表,饼状图高亮 来吧,上代码 eChart是图标,ul是列表<divref="chart"></div><ulclass="List"><liv-for="(item,i......
  • ECharts饼图-环形图,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览 二、视......
  • ECharts饼图-富文本标签,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览 二、视......
  • 两个时间段比较的六种情况,以及交集、并集、补集简要sql语句示例
    〇、两时间段比较的全部情况总共有如下图中的六种情况:下文将根据这六种情况进一步操作。注意,图中说的动态和固定两时间段,就是两个普通时间段,不区分主次,仅用作帮助理解。一、判断两个时间段是否有交叉(交集)正常情况下,就是图中的2、3、4、5四种有交叉的情况。如果直接通过这......
  • echarts根据数据动态生成饼图的个数,并排序
    动态生成个数functioninitPurchaseContract(){//获取数据的keysletkeys=Object.keys(dataPurchaseContract[0]);lettotalCharts=keys.length-1;//饼图数量//动态计算行数和列数(使布局接近正方形)letcols=3;//列数letrows......