JS 折线图

Posted currentTimeMillis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 折线图相关的知识,希望对你有一定的参考价值。

JS 折线图 

echarts 折线图。需要引入:echarts.min.js

<script src="${ctxStatic}/common/echarts.min.js" charset="utf-8"  type="text/javascript"></script>

 

JS调用后台方法,得到数据

Map<String, Object> map = new HashMap<String, Object>();

 

  for (Integer i = 0; i < 24; i++) {

    boolean isExit = false;

    String fixIndex = "";

    if (i < 10) {

      fixIndex = "0" + i;

    } else {

      fixIndex = i.toString();

    }

    for (Map<String, Object> spMap : list) {

      String hour = spMap.get("hour_remark").toString().substring(11);

      if (hour.equals(fixIndex)) {

        failcount.add(Integer.valueOf(spMap.get("fail_count").toString()));

        isExit = true;

        continue;

      }

    }

    if (!isExit) {

      failcount.add(0);

    }

  }

  Map<String, Object> failcountmap = new HashMap<String, Object>();

  failcountmap.put("name", "失败数量");

  failcountmap.put("data", failcount);

  allInfo.add(failcountmap);

  map.put("data", allInfo);

 

* failcountmap    :    {data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=失败数量}

* allInfo   :    [{data=[0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=提交数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=下发数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=成功数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=未知数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=失败数量}]

map :   {data=[{data=[0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=提交数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=下发数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=成功数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=未知数量}, {data=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], name=失败数量}]}

 

 

-----------------------------------js-----------------------------------------

 

$(function() {

  $.get("${ctx}/domesticSms/sendStatisticsHour/list?createtime="+$("#createtime").val(),function(data) {

  var serie = [];

  var dataTitle = [];

  $.each(data.data, function(i, v) {

    var item = {

    name : v.name,

    type : \'line\',

      smooth:true,    // 平滑的,可以使折线图平滑

         itemStyle: {normal: {areaStyle: { color: red ; }}},   // 可以设定折线图下阴影颜色。

    data : v.data

  }

  serie.push(item);

  dataTitle.push(v.name);

});

var myChart = echarts.init(document.getElementById(\'footerDiv_div\'));

 

var option = {

    tooltip : {

      trigger : \'axis\'

    },

    legend : {

      data : dataTitle,

      selected:{     // 设定折线图默认是否显示   name:boolean,

            \'下发数量\':true,

            \'成功\':false,

            \'失败\':false,

            \'未知\':false

      }

    },

    grid : {

      left : \'3%\',

      right : \'4%\',

      bottom : \'3%\',

      containLabel : true

    },

    toolbox : {

      feature : {

      saveAsImage : {}

    }

  },

  xAxis : {

    type : \'category\',

    boundaryGap : false,

              splitLine: {show: false},   // X轴每个点对应一个纵线,是否展示。

    data : [ \'00\', \'01\', \'02\', \'03\', \'04\', \'05\', \'06\', \'07\', \'08\', \'09\', \'10\', \'11\', \'12\', \'13\', \'14\', \'15\', \'16\', \'17\', \'18\', \'19\', \'20\', \'21\', \'22\', \'23\' ]

  },

  yAxis : {

    type : \'value\'

  },

  series : serie

 };

myChart.setOption(option);

})

 })

 

 

 

 

 

以上是关于JS 折线图的主要内容,如果未能解决你的问题,请参考以下文章

使用GWT JSNI本机方法从Chartis.js发布实现样本折线图

向 Chart.js 折线图添加标题

D3 JS中的折线图路径未正确显示

图表js:更新具有两个数据集的折线图

d3.js 在鼠标悬停时更改折线图点的颜色和大小

JS 折线图