这次给大家带来ajax动态赋值数据图,ajax动态赋值数据图的注意事项有哪些,下面就是实战案例,一起来看一下。
本文以柱形图和饼形图ajax动态赋值为例
一、饼形图赋值步骤
(1)jsp页面
<!-- 引入echarts官方js --> 
<script src="js/echarts.js"></script> 
<body> 
<!-- 为 echarts 准备一个具备大小(宽高)的 dom 饼形图 --> 
<p id="first" style="width: 600px;height:400px;"></p> 
[html] view plain copy
</body>
(2)js页面
//饼图模板
var dom = document.getelementbyid(first);
var mychart = echarts.init(dom);
var app = {};
option = null;
option = {
    title : {
      text: '用户位置记录',
      subtext: '',
      x:'center'
    },
    tooltip : {
      trigger: 'item',
      formatter: {a} <br/>{b} : {c} ({d}%)
    },
    legend: {
      orient : 'vertical',
      x : 'left',
      data:[]
    },
    toolbox: {
      show : true,
      feature : {
        mark : {show: true},
        dataview : {show: true, readonly: false},
        magictype : {
          show: true, 
          type: ['pie', 'funnel'],
          option: {
            funnel: {
              x: '25%',
              width: '50%',
              funnelalign: 'left',
              max: 1548
            }
          }
        },
        restore : {show: true},
        saveasimage : {show: true}
      }
    },
    calculable : true,
    series : [
      {
        name:'',
        type:'pie',
        radius : '55%',
        center: ['50%', '60%'],
        data:[]
      }
    ]
  };
;
if (option && typeof option === object) {
  mychart.setoption(option, true);
}
//饼图动态赋值
var year = $(#year-search).val();
  var mouth = $(#mouth-search).val();
  $.ajax({
      type: get,
      url: rootpath+/wxbound/getpiedatabymouth.action,
      data : {year:year,mouth:mouth},
      cache : false,  //禁用缓存
      datatype: json,
      success: function(result) {
        var names=[];//定义两个数组
         var nums=[];
         $.each(result,function(key,values){ //此处我返回的是list<string,map<string,string>>循环map
           names.push(values.province_name);
           var obj = new object();
           obj.name = values.province_name;
           obj.value = values.count;
           nums.push(obj);
          });
        mychart.setoption({ //加载数据图表
             legend: {
                data: names
                },
            series: {
                // 根据名字对应到相应的系列
                name: ['数量'],
                data: nums
                }  
      });
      },
      error: function(xmlhttprequest, textstatus, errorthrown) {
        alert(查询失败);
      }
    });
(3)后台代码根据你自己的代码就好
(4)显示样式
二、柱型图赋值步骤
(1)jsp页面
<!-- 引入echarts官方js --> 
<script src="js/echarts.js"></script> 
<body> 
<!-- 为 echarts 准备一个具备大小(宽高)的 dom 柱形图 --> 
<p id="second" style="width: 600px;height:400px;"></p> 
</body>
(2)js页面
//柱形图模板
var domlong = document.getelementbyid(second);
var mychartsecond = echarts.init(domlong);
var app = {};
option = null;
option = {
   color: ['#3398db'],
   tooltip : {
     trigger: 'axis',
     axispointer : {      // 坐标轴指示器,坐标轴触发有效
       type : 'shadow'    // 默认为直线,可选为:'line' | 'shadow'
     }
   },
   grid: {
     left: '3%',
     right: '4%',
     bottom: '3%',
     containlabel: true
   },
   xaxis : [
     {
       type : 'category',
       data : [],
       axistick: {
         alignwithlabel: true
       }
     }
   ],
   yaxis : [
     {
       type : 'value'
     }
   ],
   series : [
     {
       name:'直接访问',
       type:'bar',
       barwidth: '60%',
       data:[]
     }
   ]
 };
if (option && typeof option === object) {
 mychartsecond.setoption(option, true);
}
//给柱形图赋值
 var year = $(#year-search).val();
 $.ajax({
      type: post,
      url: rootpath+/wxbound/getwxboundlist.action,
      data : {year:year},
      cache : false, //禁用缓存
      datatype: json,
      success: function(result) {
     console.log(result);
     var linnames=[];
   var linnums=[];
     $.each(result.lin,function(key,values){ 
     linnames.push(values.mouth);
     linnums.push(values.count);
     
    });
   //柱形图赋值
   mychartsecond.setoption({ //加载数据图表
    xaxis: {
                data: linnames
                },
            series: {
             // 根据名字对应到相应的系列
             name: ['数量'],
             data: linnums
         }
    });  
      },
      error: function(xmlhttprequest, textstatus, errorthrown) {
        alert(查询失败);
      }
    });
}
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
vue.js的ul-li标签如何仿制select标签
在element-ui中table表格怎样滚动加载
以上就是ajax动态赋值数据图的详细内容。
   
 
   