echarts高级使用

来源:互联网 发布:淘宝商城玩具店 编辑:程序博客网 时间:2024/06/13 06:32

 上一篇文章中介绍了echarts中柱状图的使用,从demo中我们可以看到不管是柱状图还是饼状图或者是折线图,都是导入js,准备option参数。为了使用方便我们下一步要做的就是封装了。

  我们把图形类型和图形数据与图形显示分离开来,封装独立的js文件,只要传给他图形类型参数和图形数据参数就能显示出对应的图形,这样就不会出现太多的冗余代码。接下来我们说封装js文件。

  是柱状图封装柱状图的js饼状图封装饼状图的js呢,还是所有的图形封装成一个js呢?如果我们单独封装,就把option内容中变化的图形数据抽出来,如果我们封装一个js,不同种的图形option格式不同,封装的js就相当于单独封装的集合。具体哪种封装还需要根据项目实际需求,以方便使用为目的。

  单独封装js介绍:以柱状图为例。

1,初始化js

//jsonArray图形数据数组 reportName图形显示标题function initEchartsBar(json, reportName) {require.config({paths : {echarts : 'js/echarts',// 这里是你引用的echarts文件的路径'echarts/chart/bar' : 'js/echarts',// 这里需要注意的是除了mapchart使用的配置文件为echarts-map之外,其他的图形引用的配置文件都为echarts,这也是一般的图形跟地图的区别'echarts/chart/line' : 'js/echarts','echarts/chart/pie' : 'js/echarts'}});require([ 'echarts',// 这里定义项目中需要的类'echarts/chart/bar', ], function(ec) {var myChart = ec.init(document.getElementById('main'));// 图表初始化的地方,在页面中要有一个地方来显示图表,他的ID是mainoption = getOptionByArray(json, reportDesign);//得到option图形myChart.setOption(option); //显示图形});}

2,获取option数据

function getOptionByArray(json, reportName) {var option = {title : {text: reportName,x:'center'},tooltip : {trigger: 'item',formatter: "{a} <br/>{b} : {c} ({d}%)"},legend: {orient : 'vertical',x : 'left',data:json.getText},toolbox: {show : true,feature : {mark : {show: true},dataView : {show: true, readOnly: false},restore : {show: true},saveAsImage : {show: true}}},calculable : true,series : [{name:json.getText,type:'pie',radius : '55%',center: ['50%', '60%'],data:json.getValue}]};return option;}

3,在界面引用js

一个界面只显示一种图形的话,只需要在文件head标签中引用即可。如下:



如果界面中显示多种图形,需要在确定选中哪种图形后动态导入所需的封装好的js文件,如下:



  $.getScript():远程调用js,在程序运行时根据程序给出的js路径动态的将路径下的js文件加载进程序中,以便程序使用。

  手动写一个html文件,测试远程调用js方法,在火狐和谷歌浏览器下面无法通过,在ie浏览器下通过。所以如果测试不通过,请更换浏览器试试,或者在eclipse工具中创建一个web项目测试。

  


8 2
原创粉丝点击