一文入手Echart

作者: 菜农曰 | 来源:发表于2020-04-07 09:26 被阅读0次

    本文主要介绍Echart的入门使用
    如有需要,可以参考
    如有帮助,不忘 点赞

    前文预热

    1)简介:

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

    2)优点:

    • 丰富的可视化类型
    • 多种数据格式无需转换直接使用
    • 千万数据的前端展现
    • 移动端优化
    • 多渲染方案,跨平台使用!
    • 深度的交互式数据探索
    • 多维数据的支持以及丰富的视觉编码手段
    • 动态数据
    • 绚丽的特效
    • 通过 GL 实现更多更强大绚丽的三维可视化

    正文上手

    1)获取Echart

    • 官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。开发环境建议下载源代码版本,包含了常见的错误提示和警告。
    • 在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。
    • 通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts
    • cdn 引入,你可以在 cdnjsnpmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。

    2)引入 ECharts

    ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器。因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 script 标签引入。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <!-- 引入 ECharts 文件 -->
        <script src="echarts.min.js"></script>
    </head>
    </html>
    

    3)绘制一个简单的图表

    <body>
        <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
        <div id="main" style="width: 600px;height:400px;"></div>
    </body>
    

    然后生成一个简单的柱状图,下面是完整代码。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>ECharts</title>
        <!-- 引入 echarts.js -->
        <script src="echarts.min.js"></script>
    </head>
    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="width: 600px;height:400px;"></div>
        <script type="text/javascript">
            // 基于准备好的dom,初始化echarts实例
            var myChart = echarts.init(document.getElementById('main'));
            // 指定图表的配置项和数据
            var option = {
                title: {
                    text: 'ECharts 入门示例'
                },
                tooltip: {},
                legend: {
                    data:['销量']
                },
                xAxis: {
                    data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                },
                yAxis: {},
                series: [{
                    name: '销量',
                    type: 'bar',
                    data: [5, 20, 36, 10, 10, 20]
                }]
            };
            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);
        </script>
    </body>
    </html>
    
    在这里插入图片描述

    其中数据可以通过ajax异步请求获取 , 代码如下:

    
    <script type="text/javascript">
    $(function(
        loadActiveCustChart();
    ))
    //定义一个用来获取数据的函数
    function getChartData(name,value) { //传入两个数据,用来填充数据
            $.ajax({
                async: false,
                url:"getUserReportChart",
                type:"get",
                dataType:"json",    //后端可以传一个List<Map<String,Object>> 的json数据来到前端
                success:function(result){
                    console.log(result.body);
                    debugger
                    for(var i =0;i < result.body.length;i++){
                        name.push(result.body[i].name);
                        value.push(result.body[i].value);
                    }
                }
            })
        }
    function loadActiveCustChart() {
        var activeCustName = [];
        var activeCustValue = [];
        getChartData(activeCustName,activeCustValue);
        var myChart = echarts.init(document.getElementById('activeCust'));
        var option = {
            tooltip: {},
            xAxis: {
                data: activeCustName,       //后台获取的数据
                axisLabel:{
                    interval:0,     //用来显示X轴的完整信息展示
                    rotate:-45,     //用来显示X轴信息的倾斜程度
                },
            },
            yAxis: {},
            series: [{
                name: '月活跃用户趋势',
                type: 'bar',
                data: activeCustValue,  //后台的获取的数据
                itemStyle:{
                    normal:{
                        color:'#6e95ba'
                    }
                }
                ,label: {       //这个用来在柱顶显示数据的
                    normal: {
                        show: true,
                        position: 'top',
                        textStyle: {
                            color: 'black'
                        }
                    }
                }
            }],
        };
        myChart.setOption(option);
    </script>
    

    其他图表可以参照 官网实例 ,重点在于数据的动态获取

    相关文章

      网友评论

        本文标题:一文入手Echart

        本文链接:https://www.haomeiwen.com/subject/jsqgphtx.html