ajax动态赋值echarts的实例(饼图和柱形图)

我将详细讲解“ajax动态赋值echarts的实例(饼图和柱形图)”的完整攻略。以下是具体步骤:

准备工作

  1. 在HTML文件中引入ECharts的JS文件和相应的主题文件
<!-- 引入ECharts插件的JS库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.6.0/echarts.min.js"></script>

<!-- 引入ECharts主题文件的JS库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/4.6.0/theme/macarons.min.js"></script>
  1. 准备HTML页面的结构,包含ECharts容器
<!-- 定义ECharts容器 -->
<div id="chart" style="width: 600px;height:500px;"></div>

实现动态赋值ECharts

  1. 通过ajax获取需要的数据
$.ajax({
    url: 'data.json',
    dataType: 'json',
    success: function (data) {
        // 数据获取成功后,进行动态设置ECharts数据
    }
});
  1. success回调函数中,动态设置ECharts数据

饼图

// 获取ECharts对象
var myChart = echarts.init(document.getElementById('chart'), 'macarons');

// 设置饼图的参数
option = {
    title : {
        text: '饼图示例',
        subtext: '数据仅供参考',
        x:'center'
    },
    tooltip : {
        trigger: 'item',
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
        x : 'center',
        y : 'bottom',
        data:[]
    },
    series : [
        {
            name: '数据来源',
            type: 'pie',
            radius : '55%',
            center: ['50%', '50%'],
            data:[],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

// 将ajax返回的数据设置到饼图中
option.series[0].data = data.data; // data为ajax返回的数据

// 将Ajax返回的分类数据设置到饼图的legend中
option.legend.data = data.category; // category为ajax返回的分类数据

// 使用刚指定的配置项和数据显示图表
myChart.setOption(option);

柱形图

// 获取ECharts对象
var myChart = echarts.init(document.getElementById('chart'), 'macarons');

// 设置柱形图的参数
option = {
    title: {
        text: '柱形图示例',
        subtext: '数据仅供参考',
        x: 'center'
    },
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data:[]
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        data: [],
        axisLabel:{
            interval:0,
            rotate:-45
        }
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [],
        type: 'bar'
    }]
};

// 将ajax返回的数据设置到柱形图中
option.xAxis.data = data.category; // category为ajax返回的分类数据
option.series[0].data = data.data; // data为ajax返回的数据

// 使用刚指定的配置项和数据显示图表
myChart.setOption(option);

示例说明

以下是两个示例,一个是从本地data.json文件动态获取数据并赋值到饼图中,另一个是从远程服务器获取数据并赋值到柱形图中。

示例1:动态赋值饼图

// 获取ECharts对象
var myChart = echarts.init(document.getElementById('chart'), 'macarons');

// 通过ajax获取数据
$.ajax({
    url: 'data.json', // data.json为本地文件路径
    dataType: 'json',
    success: function (data) {
        // 设置饼图的参数
        option = {
            title : {
                text: '饼图示例',
                subtext: '数据仅供参考',
                x:'center'
            },
            tooltip : {
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {
                x : 'center',
                y : 'bottom',
                data:[]
            },
            series : [
                {
                    name: '数据来源',
                    type: 'pie',
                    radius : '55%',
                    center: ['50%', '50%'],
                    data:[],
                    itemStyle: {
                        emphasis: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    }
                }
            ]
        };

        // 将ajax返回的数据设置到饼图中
        option.series[0].data = data.data; // data为ajax返回的数据

        // 将Ajax返回的分类数据设置到饼图的legend中
        option.legend.data = data.category; // category为ajax返回的分类数据

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    }
});

示例2:动态赋值柱形图

// 获取ECharts对象
var myChart = echarts.init(document.getElementById('chart'), 'macarons');

// 通过ajax获取数据
$.ajax({
    url: 'http://example.com/data.json', // data.json为远程文件路径
    dataType: 'json',
    success: function (data) {
        // 设置柱形图的参数
        option = {
            title: {
                text: '柱形图示例',
                subtext: '数据仅供参考',
                x: 'center'
            },
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data:[]
            },
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            xAxis: {
                type: 'category',
                data: [],
                axisLabel:{
                    interval:0,
                    rotate:-45
                }
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                data: [],
                type: 'bar'
            }]
        };

        // 将ajax返回的数据设置到柱形图中
        option.xAxis.data = data.category; // category为ajax返回的分类数据
        option.series[0].data = data.data; // data为ajax返回的数据

        // 使用刚指定的配置项和数据显示图表
        myChart.setOption(option);
    }
});

以上就是使用ajax动态赋值echarts的实例攻略,希望能对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ajax动态赋值echarts的实例(饼图和柱形图) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 如何在Spring Boot应用中优雅的使用Date和LocalDateTime的教程详解

    如何在Spring Boot应用中优雅的使用Date和LocalDateTime的教程详解 Spring Boot作为一个常用的Java Web框架,经常需要用到日期类型,例如在处理用户操作记录、日志记录、订单生成等业务中。本文将介绍在Spring Boot应用中如何优雅地使用Date和LocalDateTime类型。 Date类型 1. Date类型的创建…

    Java 2023年5月20日
    00
  • 基于HttpServletResponse 相关常用方法的应用

    下面是基于HttpServletResponse相关常用方法的应用攻略: 1. HttpServletResponse简介 HttpServletResponse是javax.servlet包中的一个类,用于封装HTTP响应,它提供一些常用方法处理HTTP请求和响应中的数据。 它的主要功能有:- 设定响应的MIME类型:setContentType()方法设…

    Java 2023年5月20日
    00
  • MyBatis拦截器原理探究

    我会为您详细讲解”Mybatis拦截器原理探究”的完整攻略,希望能帮到您。 一、前言 当我们使用 Mybatis 进行开发时,可能会有这样一种需求:在执行 SQL 之前、之后对 SQL 语句或参数进行处理,比如动态修改 SQL 语句,打印执行 SQL 的日志、记录执行时间等等,这时,Mybatis 的拦截器就派上用场了。 二、Mybatis 的拦截器 Myb…

    Java 2023年5月20日
    00
  • java去除数组重复元素的四种方法

    关于“java去除数组重复元素的四种方法”的完整攻略,我给您详细讲解。 一、方法一:使用Set去重 使用Set去重是一种简单而高效的方法,它利用Set集合的特点,将重复元素去除,最终得到一个无序不重复的数组。具体步骤如下: 将数组转换为List集合。 创建一个新的HashSet集合。 将List中的元素依次加入HashSet中。 将HashSet转换为数组。…

    Java 2023年5月26日
    00
  • 详解SpringBoot2 使用Spring Session集群

    详解SpringBoot2 使用Spring Session集群攻略 什么是Spring Session Spring Session是一个支持在不同Web容器之间共享Session数据的项目。 Spring Session的集群 在集群环境下,我们需要使用Spring Session来共享Session数据。具体实现方式如下: 引入Spring Sessi…

    Java 2023年5月19日
    00
  • 推荐一个可以提高生产力的在线游戏

    很久没推荐好玩的工具了,今天给家推荐一个非常有意思的游戏:Habitica Habitica除了是个游戏之外,居然还是一个生产力应用! 为什么说Habitica还是个生产力应用呢?因为它还可以帮助我们养成习惯! 通过Habitica,我们可以用它的每日目标和代办事项列表功能来跟踪和管理你的习惯 在完成任务之后,你可以以此来升级你的虚拟角色,同时解锁游戏中更多…

    Java 2023年4月25日
    00
  • java 解决Eclipse挂掉问题的方法

    Java 解决 Eclipse 挂掉问题的方法 在开发 Java 项目过程中,有时会遇到 Eclipse 挂掉的情况。这可能是由于运行环境问题、占用内存过多造成的。下面介绍几种常用方法来解决 Eclipse 挂掉问题。 方法一:修改 Eclipse.ini 文件 在 Eclipse 的安装目录下找到 Eclipse.ini 文件(Windows 系统默认安装…

    Java 2023年6月15日
    00
  • jsp的九大内置对象深入讲解

    一、JSP九大内置对象 JSP的九大内置对象是指:1. request:封装客户端的请求,其中包含了与HTTP请求相关的信息,例如:请求参数、头信息等;2. response:封装服务器对客户端的响应,其中包含了HTTP响应本身以及向客户端发送的数据;3. pageContext:JSP页面上下文,包含了对该JSP页面的Servlet上下文、请求、响应等对象…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部