echarts,时间轴折线图,tooltip相关

发布时间 2023-07-04 15:31:14作者: 山枝

其中,data数组是通过echarts工具由表格直接转换得到:https://echarts.apache.org/zh/spreadsheet.html

第一部分:data

data中的长串是由表格得到,由日期转为的时间戳形式,比如‘1636905600000’,是excel中的【2021/11/15 0:00:00】通过公示【=((C3-70*365-19)*86400-8*3600)*1000】得到12位的时间戳,如果想得到10位的时间戳,那就是【=(C1-70*365-19)*86400-8*3600】;

data中的短数字是由数据加随机值组成,得到0.01至0.1之间的随机值就是excel中的=(RANDBETWEEN(10,100)/100),由2个整数除以100得到,三位那就是除以1000。

data =
[
    [1636905600000, 1791],
    [1636909200000, 955],
    [1636912800000, 546],
    [1636916400000, 464],
    [1636920000000, 743],
    [1636923600000, 1697],
    [1636927200000, 6274],
    [1636930800000, 11166],
    [1636934400000, 25596],
    [1636938000000, 49999],
    [1636941600000, 52662],
    [1636945200000, 58741],
    [1636948800000, 74292],
    [1636952400000, 84248],
    [1636956000000, 71051],
    [1636959600000, 90663],
    [1636963200000, 130477],
    [1636966800000, 121247],
    [1636970400000, 221994],
    [1636974000000, 216228],
    [1636977600000, 233760],
    [1636981200000, 219824],
    [1636984800000, 79977],
    [1636988400000, 24206],
    [1636992000000, 6366],
    [1636995600000, 2099],
    [1636999200000, 1328],
    [1637002800000, 1415],
    [1637006400000, 1456],
    [1637010000000, 5787],
    [1637013600000, 21688],
    [1637017200000, 29312],
    [1637020800000, 66288],
    [1637024400000, 95155],
    [1637028000000, 145311],
    [1637031600000, 147306],
    [1637035200000, 131527],
    [1637038800000, 132512],
    [1637042400000, 137798],
    [1637046000000, 169004],
    [1637049600000, 191963],
    [1637053200000, 140472],
    [1637056800000, 302040],
    [1637060400000, 380885],
    [1637064000000, 365960],
    [1637067600000, 213525],
    [1637071200000, 134895],
    [1637074800000, 36462],
    [1637078400000, 8133],
    [1637082000000, 3304],
    [1637085600000, 2078],
    [1637089200000, 1854],
    [1637092800000, 2880],
    [1637096400000, 6357],
    [1637100000000, 24247],
    [1637103600000, 41030],
    [1637107200000, 87872],
    [1637110800000, 115721],
    [1637114400000, 176318],
    [1637118000000, 124805],
    [1637121600000, 169974],
    [1637125200000, 165764],
    [1637128800000, 151293],
    [1637132400000, 201793],
    [1637136000000, 164580],
    [1637139600000, 243988],
    [1637143200000, 307668],
    [1637146800000, 452026],
    [1637150400000, 380610],
    [1637154000000, 330229],
    [1637157600000, 176894],
    [1637161200000, 39487],
    [1637164800000, 7928],
    [1637168400000, 4566],
    [1637172000000, 3149],
    [1637175600000, 2533],
    [1637179200000, 3811],
    [1637182800000, 10615],
    [1637186400000, 34600],
    [1637190000000, 72558],
    [1637193600000, 119253],
    [1637197200000, 152849],
    [1637200800000, 251375],
    [1637204400000, 191091],
    [1637208000000, 254333],
    [1637211600000, 265171],
    [1637215200000, 236676],
    [1637218800000, 260657],
    [1637222400000, 328140],
    [1637226000000, 283336],
    [1637229600000, 529591],
    [1637233200000, 619412],
    [1637236800000, 565407],
    [1637240400000, 473298],
    [1637244000000, 183107],
    [1637247600000, 69197],
    [1637251200000, 15998],
    [1637254800000, 6248],
    [1637258400000, 2968],
    [1637262000000, 3602],
    [1637265600000, 5412],
    [1637269200000, 14361],
    [1637272800000, 43354],
    [1637276400000, 84171],
    [1637280000000, 205483],
    [1637283600000, 205121],
    [1637287200000, 234079],
    [1637290800000, 287876],
    [1637294400000, 313297],
    [1637298000000, 258051],
    [1637301600000, 317659],
    [1637305200000, 422668],
    [1637308800000, 235308],
    [1637312400000, 328495],
    [1637316000000, 474363],
    [1637319600000, 119433],
    [1637323200000, 56657],
    [1637326800000, 605789],
    [1637330400000, 154947],
    [1637334000000, 174533],
    [1637337600000, 35317],
    [1637341200000, 15902],
    [1637344800000, 10331],
    [1637348400000, 10406],
    [1637352000000, 13280],
    [1637355600000, 38925],
    [1637359200000, 111866],
    [1637362800000, 235121],
    [1637366400000, 363282],
    [1637370000000, 459301],
    [1637373600000, 405896],
    [1637377200000, 344215],
    [1637380800000, 445024],
    [1637384400000, 410327],
    [1637388000000, 320384],
    [1637391600000, 398612],
    [1637395200000, 389483],
    [1637398800000, 496475],
    [1637402400000, 468872],
    [1637406000000, 618719],
    [1637409600000, 633535],
    [1637413200000, 428029],
    [1637416800000, 53882],
    [1637420400000, 36910],
    [1637424000000, 30431],
    [1637427600000, 11141],
    [1637431200000, 6178],
    [1637434800000, 4352],
    [1637438400000, 6827],
    [1637442000000, 14574],
    [1637445600000, 54596],
    [1637449200000, 121412],
    [1637452800000, 197935],
    [1637456400000, 274361],
    [1637460000000, 382187],
    [1637463600000, 273604],
    [1637467200000, 336648],
    [1637470800000, 259250],
    [1637474400000, 231881],
    [1637478000000, 219470],
    [1637481600000, 235370],
    [1637485200000, 318411],
    [1637488800000, 368996],
    [1637492400000, 522590],
    [1637496000000, 458139],
    [1637499600000, 346297],
    [1637503200000, 68679],
    [1637506800000, 54503]
];

 

第二部分:画图

1、tooltip:提示框,其中formatter是格式刷;

2、toFixed(2)代表JS中,小数取两位;

3、title是标题;

4、xAxis:代表x轴的内容,这里把他标注成了带日期的x轴;


option = {
  tooltip: {
    trigger: 'axis',
    formatter: function (pt){
      if( pt[0].data[1]>=1024){
        return (pt[0].data[1]/1024).toFixed(2)+'Gbps';
      }else
      {return pt[0].data[1]+'Mbps';}
    },
    position: function (pt) {
      return [pt[0]+'Mbps', '30%'];
    }
  },
  title: {
    left: 'center',
    text: '流量带宽'
  },
  toolbox: {
    feature: {
      dataZoom: {
        yAxisIndex: 'none'
      },
      restore: {},
      saveAsImage: {}
    }
  },

xAxis: {
            type: "time",
            //min: new Date("开始时间"),
            //max: new Date("结束时间"),
            axisLabel: {
              interale: 0,
              rotate: 0, //设置日期显示样式(倾斜度)
              formatter: function (value) {//在这里写你需要的时间格式
                var t_date = new Date(value);
                return [t_date.getMonth() + 1, t_date.getDate()].join('-')
                + " " + [t_date.getHours()]+"时";     
                }
            }
          },


yAxis: {
          // name: "粉丝数/点赞数",
          axisLabel: {
            formatter: function (value, index) {
              if (value >= 1024) {
                return  (value/1024).toFixed(2) + "Gbps";
              }else if (value >= 100) {
                return value  + "Mbps";
              } 
              else {
                return value;
              }
            },
          },
          nameTextStyle: {
            color: "#2a2b2b",
            fontSize: 16,
            padding: [0, 0, 20, 0],
          },//颜色
          type: "value",
        },
  dataZoom: [
    {
      type: 'inside',
      start: 0,
      end: 20
    },
    {
      start: 0,
      end: 20
    }
  ],
  series: [
    {
      name: '带宽:',
      type: 'line',
      smooth: true,
      symbol: 'none',
      areaStyle: {},
      data: data
    }
  ]
};