echarts x轴以时间为间隔,不规则数据

echarts时间轴应用的两种方法

  • 第一种,x轴设置type为value,然后还需要把x轴显示的时间戳通过格式化函数(formatter)转换为日期类型,series中的data转换为时间戳。数据类型一般较为常用的是二位数组的方式 如:  [  ['时间戳','y轴值'], ['时间戳','y轴值']  ] ;  
  • 第二种,x轴设置type为time(不需要转换X轴显示的文字) 正常情况下还应该定义一个x轴的起始范围,数据格式如:    max: "2021-01-04 08:24:38" , min: "2021-01-04 08:14:36",然后series中的 data也应该设置为二位数组类型如 :[ ["2021-01-04 08:14:36", 60],["2021-01-04 08:14:46", 56] ]

第一种实现代码

option = {
  xAxis: {
    type: 'value',
    min:1651370400,
    max:1651377600,
    axisLabel:{
      formatter:function(e){
        return timestampToTime(e);
      },
      rotate:30
    }
  },
  yAxis: {
    type: 'value',
    min:0,
    max:80
  },
  series: [
    {
      data: [[1651372200,20],[1651373400,40],[1651377000,35]],
      type: 'line',
    }
  ]
};
 
  function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        var D = (date.getDate() < 10 ? '0'+ date.getDate() : date.getDate()) + ' ';
        var h = (date.getHours() < 10 ? '0'+ date.getHours() : date.getHours()) + ':';
        var m = (date.getMinutes() < 10 ? '0'+ date.getMinutes() : date.getMinutes()) + ':';
        var s = (date.getSeconds() < 10 ? '0'+ date.getSeconds() : date.getSeconds());
        return M+D+h+m+s;
    }

第二种实现代码

option = {
  xAxis: {
    type: 'time',
    min: "2021-01-04 08:14:36",
    max: "2021-01-04 08:24:38",
  },
  yAxis: {
    type: 'value',
},
  series: [
    {
      data: [ ["2021-01-04 08:14:36", 60],["2021-01-04 08:14:46", 56],["2021-01-04 08:20:46", 23],["2021-01-04 08:22:46", 40] ],
      type: 'line'
    }
  ]
};

 

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值