这次给大家带来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模块加载器是怎么运行的
起航点卡销售系统
欢迎使用“起航点卡销售系统”销售程序:一、系统优势 1、售卡系统采取了会员与非会员相结合的销售方法,客户无需注册即可购卡,亦可注册会员购卡。 2、购卡速度快,整个购卡或过程只需二步即可取卡,让客户感受超快的取卡方式! 3、批量加卡功能。 4、取卡方式:网上支付,即时取卡 ,30秒可完成交易。 5、加密方式:MD5 32位不可倒推加密 6、防止跨站
下载
怎样实现微信web端后退强制刷新
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
文心一言
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
讯飞写作
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
即梦AI
一站式AI创作平台,免费AI图片和视频生成。
ChatGPT
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
C++ 设计模式与软件架构
本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。
c++ 字符串格式化
本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。
java 字符串格式化
本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。
python 字符串格式化
本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。
java入门学习合集
本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。
java配置环境变量教程合集
本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。
java成品学习网站推荐大全
本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。
网站特效
/
网站源码
/
网站素材
/
前端模板