Cette fois, je vais vous apporter le graphique de données d'affectation dynamique ajax. Quelles sont les précautions pour le graphique de données d'affectation dynamique ajax. Ce qui suit est un cas pratique, jetons un coup d'œil.
Cet article prend comme exemple l'affectation dynamique ajax d'un diagramme à colonnes et d'un diagramme circulaire
1. Étapes d'attribution du diagramme circulaire
(1) page jsp
<!-- 引入echarts官方js --> <script></script> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM 饼形图 --> <p></p> [html] view plain copy
(2) page 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 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("查询失败"); } });</string>
(3) Le code d'arrière-plan peut être basé sur votre propre code
(4) Style d'affichage
2. Étapes d'affectation des histogrammes
(1) page jsp
<!-- 引入echarts官方js --> <script></script> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM 柱形图 --> <p></p>
(2) page 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("查询失败"); } }); }
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour un contenu plus passionnant, veuillez faire attention aux autres articles connexes sur le php. Site chinois !
Lecture recommandée :
Comment imiter la balise select avec la balise ul-li de Vue.js
Comment utiliser le table dans element-ui Chargement progressif
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!