canvas绘图 echarts 基本使用

来源:互联网 发布:ioscf手游刷枪软件 编辑:程序博客网 时间:2024/05/21 19:46

同时可参考博客:http://www.uneeded.net   http://www.stepday.com/topic/?804

最近项目中要做图形报表,要求使用echarts实现,图形报表有很多中实现之前也接触过,但echarts还是头一次听说,正好可以趁这个机会好好学习一下它。

  之前不知道就不知道啦,现在知道了就了不得了,一下子喜欢上了echarts,今后项目中要是让做报表我肯定首选echarts在没有强制要求的前提下。主要是echarts太完美了:1,开源软件,无私的为我们提供漂亮的图形界面;2,使用简单,默默的为我们封装了重要的js,只要会引用就会使用echarts;3,种类多,echarts为我们提供了各种图标,其中最具象征的就是地图了;4,兼容性好,基于html5动画渲染超棒。

  echarts官网 提供了源码和说明文档,使用echarts需要先到官网下载需要的js源文件。

  官网上的demo中夹杂着很多我们用不到的东西,想使用饼状图就得从demo中把不用的去掉,劈植斩叶留下最原始的功能实现。这样毕竟比较费时,我就在裁剪后的代码中加以总结于是乎新的使用教程如下所示:

  echarts饼状图实现步骤:

1,在简单的html中引入js文件

[html] view plaincopyprint?
  1. <head>  
  2.     <meta charset="utf-8">  
  3.     <title>Charts demo</title>  
  4.      <script src="js/esl.js"></script>  
  5. </head>  
  6. <body>  
  7. </body>  

2,为图形准备容器

[html] view plaincopyprint?
  1. <head>  
  2.     <meta charset="utf-8">  
  3.     <title>Charts demo</title>  
  4.      <script src="js/esl.js"></script>  
  5. </head>  
  6. <body>  
  7.      
  8.     <div id="picturePlace"></div>  
  9.    
  10. </body>  

  就是在html中添加一个div给定id,图表就会显示在div中。


3,模块导入js

[html] view plaincopyprint?
  1. <head>  
  2.     <meta charset="utf-8">  
  3.     <title>Charts demo</title>  
  4.      <script src="js/esl.js"></script>  
  5. </head>  
  6. <body>  
  7.     <div id="picturePlace"></div>  
  8.      <script type="text/javascript">  
  9.         // 路径配置  
  10.         require.config({  
  11.             paths:{   
  12.                 'echarts' : 'js/echarts',  
  13.                 'echarts/chart/pie' : 'js/echarts'  
  14.             }  
  15.         });  
  16.     </script>  
  17. </body>  


4,添加显示数据

[html] view plaincopyprint?
  1. <head>  
  2.     <meta charset="utf-8">  
  3.     <title>Charts demo</title>  
  4.      <script src="js/esl.js"></script>  
  5. </head>  
  6. <body>  
  7.     <div id="picturePlace"></div>  
  8.      <script type="text/javascript">  
  9.         // 路径配置  
  10.         require.config({  
  11.             paths:{   
  12.                 'echarts' : 'js/echarts',  
  13.                 'echarts/chart/pie' : 'js/echarts'  
  14.             }  
  15.         });  
  16.           
  17.          // 使用  
  18.         require(  
  19.             [  
  20.                 'echarts',  
  21.                 'echarts/chart/pie' // 使用柱状图就加载bar模块,按需加载  
  22.             ],  
  23.             function (ec) {  
  24.                 // 基于准备好的dom,初始化echarts图表  
  25.                 var myChart = ec.init(document.getElementById('<span style="font-family:SimSun;">picturePlace</span><span style="font-family:FangSong_GB2312;">'</span>));   
  26.                   
  27.                 option = {  
  28.                         title : {  
  29.                             text: '某站点用户访问来源',  
  30.                             subtext: '纯属虚构',  
  31.                             x:'center'  
  32.                         },  
  33.                         tooltip : {  
  34.                             trigger: 'item',  
  35.                             formatter: "{a} <br/>{b} : {c} ({d}%)"  
  36.                         },  
  37.                         legend: {  
  38.                             orient : 'vertical',  
  39.                             x : 'left',  
  40.                             data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']  
  41.                         },  
  42.                         toolbox: {  
  43.                             show : true,  
  44.                             feature : {  
  45.                                 mark : {show: true},  
  46.                                 dataView : {show: true, readOnly: false},  
  47.                                 restore : {show: true},  
  48.                                 saveAsImage : {show: true}  
  49.                             }  
  50.                         },  
  51.                         calculable : true,  
  52.                         series : [  
  53.                             {  
  54.                                 name:'访问来源',  
  55.                                 type:'pie',  
  56.                                 radius : '55%',  
  57.                                 center: ['50%', '60%'],  
  58.                                 data:[  
  59.                                     {value:335, name:'直接访问'},  
  60.                                     {value:310, name:'邮件营销'},  
  61.                                     {value:234, name:'联盟广告'},  
  62.                                     {value:135, name:'视频广告'},  
  63.                                     {value:1548, name:'搜索引擎'}  
  64.                                 ]  
  65.                             }  
  66.                         ]  
  67.                     };  
  68.           
  69.                 // 为echarts对象加载数据   
  70.                 myChart.setOption(option);   
  71.             }  
  72.         );  
  73.     </script>  
  74. </body>  


5,运行程序显示结果


    以上是饼状图的实现步骤,柱状图散点图跟这个类似就是引用js时饼状图是pie,柱状图是bar,对应的option里面的数据不同,程序的架子是一样的。。


    点击下载源码: 地址1,地址2

0 0
原创粉丝点击