Maison > Article > interface Web > Comment intégrer Echarts à l'aide d'ExtJs (tutoriel détaillé)
Cet article présente principalement l'exemple de code pour intégrer Echarts avec ExtJs. Maintenant, je le partage avec vous et le donne comme référence.
Étant donné qu'Echarts ne fournit pas de fonctions de tableau, si vous souhaitez implémenter l'image ci-dessus et le tableau suivant, vous devez ajouter vous-même une balise de tableau.
ExtJs intègre Echarts
Téléchargez le fichier js depuis le site officiel d'Echarts et créez une nouvelle page en important la référence. La composition se fait par deux p placés verticalement. Le haut est réservé aux Echarts. Le bas est réservé aux balises de table
initPanel : function() { if (this.panel) { return } var panel = new Ext.Panel({ id : 'echart', html : '<p id="mainEchart" style="height:50%;border:1px solid #ccc;padding:10px;"></p>' + '<p id="mainTable" style="position:relative;text-align:center;padding:10px;">' +'<label for="mainTable"><h1>档案调用次数表</h1></label>' +'<table id="content-table" border="1" style="width:100%;text-align:center;">' + '<tr><th>月份</th><th>调用次数</th></tr>', buttonAlign : 'center', autoScroll : true,//允许滚动 bodyStyle : 'overflow-x:hidden; overflow-y:scroll' //开启竖直滚动条,关闭水平滚动条 }); this.panel = panel; return this.panel; }
Initialisation des Echarts et chargement des données
La déclaration officielle indique qu'un seul echarts peut être généré. à la fois, définissez les styles associés et téléchargez-les depuis l'arrière-plan. Les données de requête sont fournies aux echarts
initData : function(id, personName, year) { this.id = id; var p = document.getElementById("mainEchart"); var myChart = echarts.init(p); // myChart.showLoading({ // text: "图表数据正在努力加载..." // }); this.myChart = myChart; // 初始化数据 var data = []; var yearStr = ""; var flag = false; var monthData = []; var res = QueryData();//调用数据查询,涉及项目名,略 for (var i = 0; i < res.json.body.length; i++) { var map = res.json.body[i]; monthData.push(map.MM);//月份 data.push(map.DYCS);//调用次数 } var options = { arg : { id : this.id }, noDataLoadingOption : { text : '暂无数据', effect : 'bubble', effectOption : { effect : { n : 0 } } }, title : { text : personName + "的档案调用情况", x : 'west' }, tooltip : { trigger : 'axis' }, legend : { data : ['调用次数'] }, toolbox : { show : true, feature : { mark : { show : true }, dataView : { //重写dataView //在切换视图的时候能够以<table>的形式显示 show : true, readOnly : true, optionToContent : function(opt) { var axisData = opt.xAxis[0].data; var series = opt.series; var table = '<table style="width:100%;text-align:center" border="1"><tbody><tr>' + '<td>时间</td>' + '<td>' + series[0].name + '</td>' // + '<td>' // + series[1].name // + '</td>' + '</tr>'; for (var i = 0, l = axisData.length; i < l; i++) { table += '<tr>' + '<td>' + axisData[i] + '</td>' + '<td>' + series[0].data[i] + '</td>' // + '<td>' + series[1].data[i] // + '</td>' + '</tr>'; } table += '</tbody></table>'; return table; } }, magicType : { show : true, type : ['line', 'bar'] }, restore : { show : true }, saveAsImage : { show : true } } }, calculable : true, xAxis : [{ type : 'category', data : monthData }], yAxis : [{ type : 'value', splitArea : { show : true } }], series : [{ name : '调用次数', type : 'bar', barWidth : 35, data : data, itemStyle : {//修改柱状图的颜色并在顶部显示数值 normal : { color : '#3575a8', label : { show : true, position : 'top', formatter : '{c}'//'{b}\n{c}' } } } }] }; myChart.setOption(options, true); myChart.on('click', function eConsole(param) { }); this.tableData(personName, monthData, data) //表格的加载 }
Attribution des données du tableau
La partie du tableau est une simple affectation HTML. Il n'y a pas grand chose à dire. Faites attention à rafraîchir le HTML après l'épissage. Le code est le suivant :
tableData : function(personName, monthData, data) { // 表格部分 var html = '<p id="mainTable" style="position:relative;text-align:center;padding:10px;">' +'<label for="mainTable"><h1>' + personName + '档案调用情况表</h1></label>' +'<table id="content-table" border="1" style="width: 100%;text-align: center;">' + '<tr style="height: 30px;text-align:center;"><th>月份</th><th>调用次数</th></tr>'; // if(monthData.length != data.length) // throw new Error("数据条数不对,请检查!"); for (var i = 0; i < data.length; i++) { html += '<tr style="height: 30px;text-align: center;">' +'<td id="data-month-'+i+'">' + monthData[i] + '</td><td id="data-value-'+i+'">' + data[i] + '</td></tr>' } html += '</table></p>'; document.getElementById('mainTable').innerHTML = html; }
Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère qu'il sera utile à tout le monde à l'avenir.
Articles associés :
Comment utiliser les filtres de la série Vue2.0 ?
Comment revenir en haut via la méthode tween dans le projet vue
Comment utiliser vue pour déterminer que le contenu d'entrée est tout des espaces ?
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!