• echarts图表数据信息动态获取


    最近开发项目用到echarts图表展示数据信息,需要调用后台接口,写一篇博客来记录一下实现过程,末尾附源码

    首先准备一个json文件echarts.json(名字无所谓),用来模拟从后台获取数据 

    第二步上echarts官网下载,或直接引用生成图表用到的js,这里给出官网:https://www.echartsjs.com/index.html

    然后在页面直接引用  

    这里给出echarts.js的下载链接:https://echarts.baidu.com/dist/echarts.min.js

    第三步在body中准备一个容器,用来显示图表

    紧接着在js中初始化echarts对象,直接上代码

    <script type="text/javascript">
                var container = document.getElementById('container');
                // 初始化加载对象myContainer
                var myContainer = echarts.init(container);
                //未获取数据前,显示loading加载动画
                myContainer.showLoading();
    
                function bindData() {
                    //为了效果明显,我们做了延迟读取数据
                    setTimeout(function() {
                        //异步加载数据,get请求我们刚刚准备的json文件,正式开发中调用相应的接口
                        $.get('js/echarts.json', function(res) {
                            console.log(res)
                            //获取数据后,隐藏loading动画
                            myContainer.hideLoading();
                            myContainer.setOption(option = {
                                title: {
                                    text: 'echartsLoading加载'
                                },
                                tooltip: {},
                                legend: {},
                                // xAxis代表x轴的数据
                                xAxis: {
                                    data: res.name,
                                    // 字段对应从json里面的字段
                                },
                                // yAxis代表y轴的数据,不写会自动适应数据
                                yAxis: {},
                                // series代表鼠标悬浮到图标上时提示的对应信息
                                series: [{
                                    name: '访问量',
                                    type: 'bar',
                                    data: res.data,
                                    // 字段对应从json里面的字段
                                }]
                            });
                        })
                    }, 2000)
                }
                bindData();
            </script>

    看到这里如果能生成一个柱状图,那么恭喜你已经可以从后台获取数据了

    如果还没有的话就看全部代码吧,加油哦

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>echarts-异步加载数据</title>
            <link rel="stylesheet" href="11.scss">
            <script src="js/eacher.min.js" type="text/javascript" charset="utf-8"></script>
            <script src="js/new_file.js" type="text/javascript" charset="utf-8"></script>
            <style>
                #container{
                     500px;
                    height: 400px;
                    border: 1px solid #ccc;
                    /**/
                }
        </style>
        </head>
        <body>
            <div id="container"></div>
            <!--  -->
            <script type="text/javascript">
                var container = document.getElementById('container');
                // 初始化加载对象myContainer
                var myContainer = echarts.init(container);
                //未获取数据前,显示loading加载动画
                myContainer.showLoading();
    
                function bindData() {
                    //为了效果明显,我们做了延迟读取数据
                    setTimeout(function() {
                        //异步加载数据,get请求我们刚刚准备的json文件,正式开发中调用相应的接口
                        $.get('js/echarts.json', function(res) {
                            console.log(res)
                            //获取数据后,隐藏loading动画
                            myContainer.hideLoading();
                            myContainer.setOption(option = {
                                title: {
                                    text: 'echartsLoading加载'
                                },
                                tooltip: {},
                                legend: {},
                                // xAxis代表x轴的数据
                                xAxis: {
                                    data: res.name,
                                    // 字段对应从json里面的字段
                                },
                                // yAxis代表y轴的数据,不写会自动适应数据
                                yAxis: {},
                                // series代表鼠标悬浮到图标上时提示的对应信息
                                series: [{
                                    name: '访问量',
                                    type: 'bar',
                                    data: res.data,
                                    // 字段对应从json里面的字段
                                }]
                            });
                        })
                    }, 2000)
                }
                bindData();
            </script>
        </body>
    </html>

    json文件

    {
        "name":["iso","english","china","ufo","seo"],
        "data":[400,200,300,100,11]
    }

    效果图

    转载于:https://www.cnblogs.com/songzxblog/p/11383879.html

  • 相关阅读:
    XAML学习笔记之Layout(五)——ViewBox
    XAML学习笔记——Layout(三)
    XAML学习笔记——Layout(二)
    XAML学习笔记——Layout(一)
    从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
    从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)
    Sql Server 2012 事务复制遇到的问题及解决方式
    Sql Server 2008R2升级 Sql Server 2012 问题
    第一次ACM
  • 原文地址:https://www.cnblogs.com/webdom/p/11652658.html
Copyright © 2020-2023  润新知