• 关于echart的x轴固定为0-24小时显示一天内的数据


    需求: 

      echart折线图横坐标x轴固定显示为0-1-2-3-...-23-24一共24小时的数据.

      根据需求,我在网上以及echart官网,发现x轴无论type是类目轴还是时间,都是自动处理的,尤其是数据量过多的情况,x轴时间无法准确控制

    实现效果:

    代码解决思路:

      分析造成x轴时间无法固定的原因是数据里的时间具有不确定性,于是我在原数据的基础上增加了一条时间分别是00:00:00 - 01:00:00 -23:00:00, 值为空的数据(该条折线不显示,仅用于撑开x轴)

     1   var mytime24 = new Array()
     2     var i = 0;
     3     var now_data = new Date()
     4     var year_now = now_data.getFullYear(),month_now = now_data.getMonth() + 1, day_now = now_data.getDate()
     5     var time_pre = `${year_now}/${month_now}/${day_now} 00:00:00`
     6         var ttt = (new Date(time_pre)).getTime()
     7         for (; i < 25; i++) {
     8         mytime24.push([ttt, '']);//传入value的值为空则该值点不会显示在图表中
     9         ttt = ttt + 3600000;
    10     }

      将数据传入series:

    1 str.push({
    2     name: '',
    3     type: 'line', 
    4     data: mytime24,//空数据
    5 },{
    6     name: '',
    7     type: 'line', 
    8     data: value,//原数据
    9 })

      配置myChart.setOption,在xAxis设置24等分,并在formatter中格式化时间,只显示小时

    myChart.setOption({
                    xAxis: {
                        type: 'time',
                        splitNumber: 24,
                        splitLine: {
                            show: false
                        },
                        axisLine: {
                            lineStyle: {
                                color: '#ccc',
                            }
                        },
                        axisLabel: {// 格式化数据只显示时间的小时
                            formatter: function (value, index) {
                                var data = new Date(value)
                                var hours = data.getHours()
                                return hours
                            }
                        },
                        data: []
                    },
                    yAxis: {
                        min: minY, 
                        max: maxY, 
                    },
                    series: str
                });

    结束!感谢

    (

    浅喜似苍狗,深爱如长风
  • 相关阅读:
    [每日一题2020.06.23]leetcode #16 双指针
    typora+picgo+jsdeliver+github打造免费高效的博客图床
    [javaSE笔记5]String
    [javaSE笔记4] ArrayList
    [javaSE笔记3] JAVA的继承---多态 抽象
    [每日一题2020.06.22]leetcode #11 双指针
    操作系统---设备管理
    [每日一题2020.06.21]leetcode #124 DFS二叉树
    操作系统---磁盘
    PC实用工具推荐
  • 原文地址:https://www.cnblogs.com/Zhang-jin/p/12028016.html
Copyright © 2020-2023  润新知