最近项目中要做图表功能,为了减少开发量采用的是H5+ECharts来做,这里说一下IOS中如何使用ECharts以及遇到的问题。 网络模块化单文件引入
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>IOS使用Charts</title>
-
- </head>
- <body>
- <div id="main" class="main" style="height:400px;" ></div>
- <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
- <script type="text/javascript">
- require.config({
- paths: {
- echarts: 'http://echarts.baidu.com/build/dist'
- }
- });
- require(
- [
- 'echarts',
- 'echarts/chart/line',
- 'echarts/chart/bar'
- ],
- function (ec) {
- var myChart = ec.init(document.getElementById('main'));
- var option = {
- title : {
- text: '世界人口总量',
- subtext: '数据来自网络'
- },
- tooltip : {
- trigger: 'axis'
- },
- legend: {
- data:['2011年', '2012年']
- },
- toolbox: {
- show : true,
- feature : {
- mark : {show: true},
- dataView : {show: true, readOnly: false},
- magicType: {show: true, type: ['line', 'bar']},
- restore : {show: true},
- saveAsImage : {show: true}
- }
- },
- calculable : true,
- xAxis : [
- {
- type : 'value',
- boundaryGap : [0, 0.01]
- }
- ],
- yAxis : [
- {
- type : 'category',
- data : ['巴西','印尼','美国','印度','中国','世界人口(万)']
- }
- ],
- series : [
- {
- name:'2011年',
- type:'bar',
- data:[18203, 23489, 29034, 104970, 131744, 630230]
- },
- {
- name:'2012年',
- type:'bar',
- data:[19325, 23438, 31000, 121594, 134141, 681807]
- }
- ]
- }
- myChart.setOption(option);
- }
- );
- </script>
- </body>
- </html>
标签式单文件引入- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>IOS使用Charts</title>
-
- </head>
- <body>
- <div id="main" class="main" style="height:400px;" ></div>
- <script src="http://echarts.baidu.com/build/dist/echarts-all.js"></script>
- <script type="text/javascript">
- var myChart = echarts.init(document.getElementById('main'));
- myChart.showLoading({//用来在加载网络数据时显示
- text: '正在努力的读取数据中...', //loading话术
- });
- var option = {
- title : {
- text: '世界人口总量',
- subtext: '数据来自网络'
- },
- tooltip : {
- trigger: 'axis'
- },
- legend: {
- data:['2011年', '2012年']
- },
- toolbox: {
- show : true,
- feature : {
- mark : {show: true},
- dataView : {show: true, readOnly: false},
- magicType: {show: true, type: ['line', 'bar']},
- restore : {show: true},
- saveAsImage : {show: true}
- }
- },
- calculable : true,
- xAxis : [
- {
- type : 'value',
- boundaryGap : [0, 0.01]
- }
- ],
- yAxis : [
- {
- type : 'category',
- data : ['巴西','印尼','美国','印度','中国','世界人口(万)']
- }
- ],
- series : [
- {
- name:'2011年',
- type:'bar',
- data:[18203, 23489, 29034, 104970, 131744, 630230]
- },
- {
- name:'2012年',
- type:'bar',
- data:[19325, 23438, 31000, 121594, 134141, 681807]
- }
- ]
- }
- myChart.setOption(option);
- myChart.hideLoading();//实际请求结束后调用
- </script>
- </body>
- </html>
注意:1、模块化单文件引入方式是官方推荐的,上面之所以写网络是因为使用的js是官方服务器的,而如果使用本地下载好点的需要注意路径,默认情况下Xcode的文件夹是黄色的(group),里面的文件实际上是在同一个目录下面的,要使用蓝色(folder)的文件夹。
2、使用本地的echarts.js的时候可以根据项目需要什么形状的图形,从http://ecomfe./echarts-builder-web/ 进行在线构建工具,把多余的内容去掉。
|