这次给大家带来ExtJs整合的Echarts,使用ExtJs整合Echarts的注意事项有哪些,下面就是实战案例,一起来看一下。
由于Echarts不提供表格功能,想要实现上图下表,需要自己增加一个table标签。
ExtJs整合Echarts
从Echarts官网下载js文件通过import引用 新建一个页面,通过竖直放置的两个p排版,上方预留给Echarts,下方预留给table标签
initPanel : function() {
if (this.panel) {
return
}
var panel = new Ext.Panel({
id : 'echart',
html : ''
+ ''
+''
+'
'
+ '| 月份 | 调用次数 |
',
buttonAlign : 'center',
autoScroll : true,//允许滚动
bodyStyle : 'overflow-x:hidden; overflow-y:scroll'
//开启竖直滚动条,关闭水平滚动条
});
this.panel = panel;
return this.panel;
}Echarts初始化和数据加载
官方声明一次性只能生成一个echarts,定义相关的样式,并且从后台查询数据提供给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
//在切换视图的时候能够以的形式显示
show : true,
readOnly : true,
optionToContent : function(opt) {
var axisData = opt.xAxis[0].data;
var series = opt.series;
var table = ''
+ '| 时间 | '
+ ''
+ series[0].name + ' | '
// + ''
// + series[1].name
// + ' | '
+ '
';
for (var i = 0, l = axisData.length; i < l; i++) {
table += '' + '| ' + axisData[i]
+ ' | ' + ''
+ series[0].data[i] + ' | '
// + '' + series[1].data[i]
// + ' | '
+ '
';
}
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)
//表格的加载
}表格数据的赋值
表格部分就是简单的html赋值,没什么好多讲的,注意拼接完后刷新一下html即可。 代码如下:
tableData : function(personName, monthData, data) {
// 表格部分
var html = ''
+''
+'
'
+ '| 月份 | 调用次数 |
';
// if(monthData.length != data.length)
// throw new Error("数据条数不对,请检查!");
for (var i = 0; i < data.length; i++) {
html += ''
+'| '
+ monthData[i]
+ ' | '
+ data[i]
+ ' |
'
}
html += '
';
document.getElementById('mainTable').innerHTML = html;
}相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
javascript模块加载器是怎么运行的
怎样实现微信web端后退强制刷新
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
C++ 高级模板编程与元编程
本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。
php会话教程合集
本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。
Golang 性能分析与pprof调优实战
本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。
网站特效
/
网站源码
/
网站素材
/
前端模板