zoukankan      html  css  js  c++  java
  • echarts的简单应用之(一)柱形图

      前段时间做项目需要绘制一些图表来展示信息,从网上资料来看用的比较多的是百度开源的echarts。echarts的官网上有API以及demo。上面的图形都是非常炫的,不过都是静态

    数据,我们做项目时不可能都用静态数据,特别是做监控、管理等方面,需要前后台数据的交互。下面是我得简单总结,就直接贴代码了。

      首先是从官网上学来的一个demo,其中用到的js文件都可以官网上下载到,代码如下:

     1 <!DOCTYPE html>
     2 <head>
     3 <meta charset="utf-8">
     4 <title>ECharts-demo-柱形图</title>
     5 <script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
     6 </head>
     7 <body>
     8     <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
     9     <div id="main" style="height: 400px"></div>
    10     <!-- ECharts单文件引入 -->
    11     <script type="text/javascript">
    12         // 基于准备好的dom,初始化echarts图表
    13         var myChart = echarts.init(document.getElementById('main'));
    14 
    15         var option = {
    16             tooltip : {
    17                 show : true
    18             },
    19             legend : {
    20                 data : [ '销量' ]
    21             },
    22             xAxis : [ {
    23                 type : 'category',
    24                 data : [ "衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子" ]
    25             } ],
    26             yAxis : [ {
    27                 type : 'value'
    28             } ],
    29             series : [ {
    30                 "name" : "销量",
    31                 "type" : "bar",
    32                 "data" : [ 5, 20, 40, 10, 10, 20 ]
    33             } ]
    34         };
    35 
    36         // 为echarts对象加载数据 
    37         myChart.setOption(option);
    38     </script>
    39 </body>

    其运行结果如图:

      从官网上的实例中可以看到各种不同的图形,我们可以直接在网上编辑,修改成我们想要的模型,然后将整个option复制到demo中的option上,就可以得到一个静态数据的图形。

    接下来就是从后台取数据了。代码如下:(只贴出option部分和ajax请求的部分)

     1     var levels= [];              // 等级的数组
     2     var nums= [];        // 数量的数组   
     3 
     4  var myChart = echarts.init(main[0]);   //  main 是设置的图表的id
     5  $.ajax({
     6             type: "post",
     7             url : "getPieInfo.action",
     8             dataType: "json",
     9             data : {},
    10             success: function(result){
    11                  if (result != null && result.length > 0) {
    12                      for(var i=0;i<result.length;i++){
    13                          levels.push(result[i].level);
    14                          nums.push(result[i].num);
    15                      }
    16                  }
    17                 
    18                  myChart.setOption({        //载入数据
    19                      tooltip: {
    20                          show: true,
    21                          trigger: 'axis',
    22                      },
    23                      legend: {
    24                          data:['级别统计']
    25                      },
    26                      toolbox: {
    27                          show : true,
    28                          feature : {
    29                              mark : {show: true},        // 辅助线标志
    30                              dataView : {show: true, readOnly: false},    // 数据视图
    31                              magicType : {show: true, type: ['line', 'bar']},    // 动态类型转换(折线柱形互转)
    32                              restore : {show: true},        // 还原
    33                              saveAsImage : {show: true}        // 保存图片
    34                          }
    35                      },
    36                      calculable : true,        // 启用拖拽,重新计算
    37                          xAxis: {
    38                              type : 'category',
    39                              data: levels //填入X轴数据
    40                          },
    41                          yAxis : {
    42                           type : 'value'
    43                       },
    44                          series: {
    45                              name: '数量',
    46                              type: 'bar',
    47                              data: nums
    48                          }    
    49                      });
    50             }
    51         })

    后台代码就是普通的SSM框架写的,这里不多叙述。

    其数据库如下:

      最终运行结果:

     如果文中有什么错误或问题可以和我交流,邮箱hellojylee@163.com.

  • 相关阅读:
    redis
    dom4j-1.6.1.jar与dom4j-1.4.jar
    runoob
    session失效后,登录页面嵌入iframe框架
    log4j.properties 详解与配置步骤
    maven+swagger
    Eclipse建立Maven项目后无法建立src/main/java资源文件夹
    vue 3.x 相对于 vue 2.x 的重大修改
    面试准备
    JS系列
  • 原文地址:https://www.cnblogs.com/jylee/p/9359363.html
Copyright © 2011-2022 走看看