Echarts 动态数据绑定-详解

Echarts 动态数据绑定
从简单的小例子介绍-可视化图表的动态数据绑定,抛砖引玉
绑定多组数据
很多时候需要展示的数据不单单是一组数据,很多时候会进行一个数据对比。这个时候只需要在series中增加一组数据,legend中添加一下这个数据组的name;
静态篇:

<html>
<head>
    <title>ECharts.js 数据绑定</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="js/echarts.js"></script>
</head>
<body>
    <div id="chartmain" style="width:600px; height: 400px;"></div>
    <script type="text/javascript">
        //指定图标的配置和数据
        var option = {
            title:{
                text:'ECharts 数据统计'
            },
            legend:{
                data:['访问量','用户量']
            },
            xAxis:{
                data:["Android","IOS","PC","Other"]
            },
            yAxis:{},
            series:[
            {
                name:'访问量',
                type:'bar',
                data:[180,420,333,83]
            },
            {
                name:'用户量',
                type:'bar',
                data:[125,330,230,60]
            }
            ]
        };
        //初始化echarts实例
        var myChart = echarts.init(document.getElementById('chartmain'));

        //使用制定的配置项和数据显示图表
        myChart.setOption(option);
    </script>
</body>
</html>

数据异步加载一
EChart中实现异步数据的更新非常简单,在图表初始化后不管任何时候只要通过 jQuery 等工具异步获取数据后通过 setOption 填入数据和配置项就行。

1)先准备一份模拟JSON数据
{“name”:[“A”,"B,“B”,“Dr”],“data”:[44,440,444,400]}
2)

<script type="text/javascript">        
        //初始化echarts实例
        var myChart = echarts.init(document.getElementById('chartmain'));        
        //异步加载的配置项和数据显示图表
        $.get('data.json').done(function (data) {
            data = eval('('+data+')');            
            myChart.setOption({
                title:{
                    text:'ECharts 异步加载数据'
                },
                tooltip:{},
                legend:{
                    data:['访问量']
                },
                xAxis:{
                    data:data.name
                },
                yAxis:{},
                series:[
                    {
                        name:'访问量',
                        type:'bar',
                        data:data.data
                    }
                ]
            })
        })


    </script>


数据异步加载二

<script type="text/javascript">        
        //初始化echarts实例
        var myChart = echarts.init(document.getElementById('chartmain'));        
        //设置图标配置项
        myChart.setOption({
            title:{
                text:'ECharts 异步加载数据'
            },
            tooltip:{},
            legend:{
                data:['访问量']
            },
            xAxis:{
                data:[]
            },
            yAxis:{},
            series:[
                {
                    name:'访问量',
                    type:'bar',
                    data:[]
                }
            ]
        })
        //异步加载数据
        $.get('data.json').done(function (data) {
            data = eval('('+data+')');            
            myChart.setOption({                
                xAxis:{
                    data:data.name
                },                
                series:[
                    {    
                        //根据名字对应到相应的系列
                        name:"访问量",
                        data:data.data
                    }
                ]
            })
        })
    </script>

Loading动画加载

//打开loading动画
        myChart.showLoading();
        //加载数据函数
        function bindData(){
            //为了效果明显,我们做了延迟读取数据
            setTimeout(function(){                
                //异步加载数据
                $.get('data.json').done(function (data) {                    
                    //获取数据后,隐藏loading动画
                    myChart.hideLoading();
                    data = eval('('+data+')');            
                    myChart.setOption({
                        xAxis:{
                            data:data.name
                        },
                        series:[
                            {
                                //根据名字对应到相应的系列
                                name:"访问量",
                                data:data.data
                            }
                        ]
                    })
                })
            },2000)
        }
        
        bindData();
    #最后切记 JSON数据一定要加载在 服务端

在这里插入图片描述

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
echarts是目前流行的一种数据可视化工具,可以将数据以图表的形式呈现出来。动态绑定数据是指在echarts中,动态改变数据后能够自动更新图表,使用户实时看到最新的数据展示。 动态绑定数据在实际应用中非常常见,因为数据往往是不断变化的。为了实现动态绑定数据,可以使用echarts提供的API和事件来实现。 首先要做的是获取数据,并将数据转化成需要的格式。如果数据来自数据库或API,可以使用ajax技术获得数据。如果数据量不大并不需要实时更新,可以将数据存储在json文件中。 然后,需要使用echarts提供的API来设置图表的配置,包括图表类型、坐标轴、Series等。对于动态绑定数据,需要在配置中将数据的部分设置为动态数据。具体做法是使用option.series[x].data=[];将数据绑定在相应的系列中。 接下来,则需要监听数据的变化。在echarts中,需要可视化的数据源有三种,分别是Series、单个Axis和图例Legend。如何监听数据变化,就变成了如何监听这三者中的数据变化。 对于Series来说,需要监听Series的数据变化。可以使用option.series[x].data=[modifiedData];来将新的数据重新绑定在Series中,这样在下次render时,图表就会根据新的数据来更新。同样,对于单个Axis,也是使用类似的设置。 对于图例Legend,除了交互方式(如点击显示或隐藏一系列)外,还可以使用DataRange来实现实时更新。 综上所述,echarts动态绑定数据能够实现实时可视化数据,能够给用户提供最新的信息,以便做出更为明智的决策。现在,越来越多的公司、组织开始使用可视化工具,这样可以提高效率和减少错误判断。动态绑定数据在实现可视化工具方面具有重要的意义,为数据处理提供了一个全新的可视化支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值