ajax动态赋值echarts的实例(饼图和柱形图)
程序员文章站
2022-03-21 13:14:13
本文以柱形图和饼形图ajax动态赋值为例
一、饼形图赋值步骤
(1)jsp页面
本文以柱形图和饼形图ajax动态赋值为例
一、饼形图赋值步骤
(1)jsp页面
<!-- 引入echarts官方js --> <script src="js/echarts.js"></script> <body> <!-- 为 echarts 准备一个具备大小(宽高)的 dom 饼形图 --> <div id="first" style="width: 600px;height:400px;"></div> [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 柱形图 --> <div id="second" style="width: 600px;height:400px;"></div> </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("查询失败"); } }); }
(3)后台代码部分根据自己需要就好。。。
(4)图片样式
可以去试试你的echarts图标了。。。
以上这篇ajax动态赋值echarts的实例(饼图和柱形图)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。