完整版ajax+百度echarts实现统计图表demo并随着窗口大小改变而自适应

1.前言
百度Echarts会常用到我们的项目中做统计,api很详细,demo也非常之多,我们常用的是应有尽有了,做一些小项目的时候,百度echarts的demo已足够用了。今天呢。主要是跟小白讲一下,如何用ajax+百度Echarts实现我们动态数据的绑定呢?
2.详情
写一个很全的demo.接口的url自己换,数据结构自己换。

  1. 引入百度echarts库
 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=xGF99mjQcACk1Ctv50lXs0QOqdHiZml1"></script>

2.html内容`

 <div class="match_echart cleanfloat">                     
     <div id="chart1" style='margin-right:1%' ></div>
     <div id="chart2" ></div>
 </div>

3.css样式

//定义宽高度
.match_echart>div{width:48%; height:400px;float:left; border:1px solid #d1d1d1;}
//清浮动
.cleanfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0;}

4.js代码

//初始化
var chart1 = echarts.init(document.getElementById('chart1'));
var chart2 = echarts.init(document.getElementById('chart2'));

//用ajax获取数据填充
function chartFun() {
    /*饼图option*/
    var option1 = {
        title: { text: '分类', x: 'center', },
        tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" },
        legend: { orient: 'vertical', left: 'left', data: ['高度', '中度', '低度'] },
        series: [{ name: '分类', type: 'pie', center: ['50%', '55%'], radius: '50%', data: [] }, ]
    }
    /*柱状图option*/
    var option2 = {
        title: { text: '对手', x: 'center', },
        tooltip: { trigger: 'axis', axisPointer: {  type: 'shadow'   } },
        xAxis: [{ type: 'category', data: [], axisTick: { alignWithLabel: true } }],
        yAxis: [  { type: 'value'  }],
        series: [{ name: '对手', type: 'bar', center: ['50%', '55%'], radius: '50%', data: [] }, ]
    }
    /*分类饼图*/
    $.ajax({
        url: url1,//请换成自己的url
        success: function (result) {
            //换成自己的数据结构              
            var high = result.high;                       
            var low = result.low;                     
            var middle = result.middle;                                          
            option1.series[0].data.push({ value: high, name: "高度" }, { value: middle, name: "中度" }, { value: low, name: '低度' });
             chart1.setOption(option1);                
            }        
         })

    /*分类柱状图*/
    $.ajax({
        url: url2,//请换成自己的url
        success: function (result) {
            //换成自己的数据结构        
            for (var i = 0; i < result.list.length; i++) {
                var column =result.list[i].column;
                var num = result.list[i].num;
                option2.series[0].data.push({ value: num, name: column });
                option2.xAxis[0].data.push(column);   
              }                                 
           chart2.setOption(option2);                           
        }
    })
  }


//调用方法
$(function(){
    chartFun()
});

//根据窗口大小自适应图表
window.addEventListener("resize", function () {
    chart1.resize();
    chart2.resize();
});

5.效果展示
图片展示

4.总结
这种demo在项目需求应用中应该是简单的不能再简单的了,很多童鞋的需求肯定不是酱紫的,好吧,如果你是小白,这个会了,稍微难的或者更难的都不会难倒你的。总之,掌握了其方法就会了。我这个写的是很菜,好吧,我承认我技术不照,学无止境!。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值