echarts 固定X轴且以天为维度的日期(也可以分钟,秒为维度),对应的日期时间画折线图

3 篇文章 1 订阅
2 篇文章 0 订阅

废话不多说,上代码,备注以及需要注意的点都在代码里

<div ref="echartsLine" style="width:1000px;height:500px;"></div>
// 字符串时间转化成时间戳
getDateFromString(str) {
    var reg = /^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/;
    var temp = str.match(reg);
    var result = "";
    if (temp) {
        result = new Date(temp[1], temp[2] - 1, temp[3], temp[4], temp[5], temp[6]);
    }
    return result;
},
initEcharts() {
      var myEcharts = echarts.init(this.$refs.echartsLine);
      // 横坐标
      var startDate = "2022-04-28";
      var endDate = "2022-05-07";
      let startTime = this.getDateFromString(startDate + " 00:00:00");
      let endTime = this.getDateFromString(endDate + " 00:00:00");

      var option = {
        title: {
          text: "固定横轴坐标,包含时分秒刻度,根据数据展示对应图",
          subtext: "故事点数",
        },
        tooltip: {
          trigger: "axis",
          //   鼠标上移x轴、y轴刻度展示
          //   axisPointer: {
          //     type: "cross",
          //   },
        },
        toolbox: {
          show: true,
          feature: {
            saveAsImage: {},
          },
        },
        formatter: function(params) {
          //   console.log(params);
          var temp = "";
          temp = params[0].data[0] + "<br/>" + "故事点数:" + params[0].data[1];
          return temp;
        },
        xAxis: [
          {
            // data: diffDate,
            //设置类别
            type: "time",
            interval: 24 * 60 * 60 * 1000, // 固定x轴时间间隔 间隔24小时,也就是一天
                            // 自己想固定间隔多长时间可以改成自己的间隔时间
            min: startTime, // 开始时间时间戳
            max: endTime, // 结束时间时间戳 如果实际的最大日期不确定,也可以不设定这个属性
            // x轴的字
            axisLabel: {
              show: true,
              showMinLabel: true,
              showMaxLabel: true
            },
          },
        ],
        yAxis: {
          type: "value",
          axisLabel: {
            formatter: "{value} W",
          },
          axisPointer: {
            snap: true,
          },
        },
        visualMap: {
          show: false,
          dimension: 0,
          pieces: [
            {
              lte: 6,
              color: "green",
            },
            {
              gt: 6,
              lte: 8,
              color: "red",
            },
            {
              gt: 8,
              lte: 14,
              color: "green",
            },
            {
              gt: 14,
              lte: 17,
              color: "red",
            },
            {
              gt: 17,
              color: "green",
            },
          ],
        },
        series: [
          {
            name: "Electricity",
            type: "line",
            smooth: true,
            // data的格式 [[实际日期:数值],[[实际日期:数值]]]
            // 不需要属性名
            data:
[["2022-04-28 2:12:58", "0"],
["2022-04-29 23:12:58", "50"],
["2022-04-30 12:00:00", "200"],
["2022-05-01", "111"],
["2022-05-02", "500"],
["2022-05-03", "123"],
["2022-05-04", "333"]],
            ],
          },
        ],
      };
      myEcharts.setOption(option);
    }

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值