前言

使用Echarts画图时,数据一般不是静态写死的,而是通过后端接口动态获取的,因此本文结合官网提供的demo演示Echarts怎么获取动态数据

Echarts读取动态数据

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

step1:创建相关工程文件

工程文件目录如下
在这里插入图片描述

step2:ECharts绑定数据

ECharts 绑定数据的方式有两种:

(1)方法一:

直接异步读取数据的同时设置图表参数和数据绑定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./js/echarts.min.js"></script>
    <script src="./js/jquery.js"></script>
</head>

<body>
    <div id="main" style="width: 400px;height:400px;border: 1px solid gray"></div>
    
    <script type="text/javascript">

        var myChart = echarts.init(document.getElementById('main'));
        
        $.get('data/data.json').done(function(data) {
            myChart.setOption({
                title: {
                    text: '异步数加载示例'
                },
                tooltip: {},
                legend: {},
                xAxis: {
                    data: data.categories
                },
                yAxis: {},
                series: [
                    {
                        name: '销量',
                        type: 'bar',
                        data: data.values
                    }
                ]
            });
        });
    </script>
    
</body>

</html>

(2)方法二:

设置完其它的样式显示一个空的直角坐标轴然后获取数据后填入数据

在这里插入图片描述

  • 完整代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./js/echarts.min.js"></script>
    <script src="./js/jquery.js"></script>
</head>
<body>

    <div id="main" style="width: 400px;height:400px;border: 1px solid gray"></div>
    
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main')); 
        // 显示标题图例和空的坐标轴
        myChart.setOption({
            title: {
                text: '异步数加载示例'
            },
            tooltip: {},
            legend: {
                data: ['销量']
            },
            xAxis: {
                data: []
            },
            yAxis: {},
            series: [
                {
                    name: '销量',
                    type: 'bar',
                    data: []
                }
            ]
        });      
        // 异步加载数据
        $.get('data/data.json').done(function(data) {
            // 填入数据
            myChart.setOption({
                xAxis: {
                    data: data.categories
                },
                series: [
                    {
                        // 根据名字对应到相应的系列
                        name: '销量',
                        data: data.values
                    }
                ]
            });
        });           
    </script>
    
</body>

</html>

原文地址:https://blog.csdn.net/Junehhh/article/details/129875607

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_46180.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注