• Echarts使用


    百度前端发起的数据可视化项目

    官网:http://echarts.baidu.com/

    GitHub:https://github.com/ecomfe/echarts

    官网有很详细的演示和文档,入门比较容易,下载产品包,本地无需配置就可以运行例子。

    以index.html为例,结合动态数据实际改造应用。

    服务端采用标准的springmvc + mybatis,数据以json方式返回,不叙述。

    前端需要引用Echart组件,由于Echarts底层依赖zrender(http://ecomfe.github.io/zrender/),需要同时下载。

    web工程引用如下:

    index页面给出了很详细的步骤说明。

    额外需要引入jquery,下面要用到,其他地方保持不变。

    <!--Step:1 Import a module loader, such as esl.js or require.js-->
    <!--Step:1 引入一个模块加载器,如esl.js或者require.js-->
    <script src="echarts/esl.js"></script>
    <script type="text/javascript" src="js/jquery.js"></script>
    <!--Step:2 Prepare a dom for ECharts which (must) has size (width & hight)-->
    <!--Step:2 为ECharts准备一个具备大小(宽高)的Dom-->
    <div id="main" style="height: 500px; border: 1px solid #ccc; padding: 10px;"></div
    // Step:3 conifg ECharts's path, link to echarts.js from current page.
    // Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
    require.config({
       paths : {
                  echarts : './js/echarts',
                  'echarts/chart/line' : './echarts/echarts'
                }
       });

    改为ajax方式获取服务端Json数据,填充到组件上。

    // Step:4 require echarts and use it in the callback.
    // Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
            require([ 'echarts', 'echarts/chart/line' ], function(ec) {
                var myChart = ec.init(document.getElementById('main'));
                var option = {};
                myChart.setOption(option);
    
                var labels = new Array();
                var dt = new Array();
                $.get("show", function(data) {
                    var index = 0;
                    $.each(data, function(key, val) {
                        labels[index] = data[key]['name'];
                        dt[index] = data[key]['value'];
                        index++;
                    })
                    
                    option = {
                        tooltip : {
                            trigger : 'axis'
                        },
                        legend : {
                            data : [ '测试' ]
                        },
                        toolbox : {
                            show : true,
                            feature : {
                                mark : true,
                                dataView : {
                                    readOnly : false
                                },
                                magicType : [ 'line', 'bar' ],
                                restore : true,
                                saveAsImage : true
                            }
                        },
                        calculable : true,
                        xAxis : [ {
                            type : 'category',
                            data : labels
                        } ],
                        yAxis : [ {
                            type : 'value',
                            splitArea : {
                                show : true
                            }
                        } ],
                        series : [ {
                            name : '测试',
                            type : 'bar',
                            data : dt
                        } ]
                    }
                    myChart.setOption(option);
                });
            });

     简单的效果图

  • 相关阅读:
    远程服务器上的weblogic项目管理(二)发布完成后如何重启weblogic容器
    Oracle中日期和时间类函数
    程序员应如何提高实效?读《程序员修炼之道》有感
    远程服务器上的weblogic项目管理(一)项目部署与更新流程
    远程服务器上的weblogic项目管理(四)filelock not found错误解决方法
    浅拷贝与深拷贝
    for...of 与 for...in
    工厂函数创建对象
    Promise
    闭包内存泄漏解决方法
  • 原文地址:https://www.cnblogs.com/guarder/p/3474613.html
Copyright © 2020-2023  润新知