echarts饼图动态数据加载

本文介绍了如何使用ECharts在前台页面动态加载饼图数据,通过后台代码获取并展示部门人数统计。通过执行SQL查询从`t_system_bmgl`表中获取`bg_mc`(部门名称)和`bg_rs`(部门人数)字段,最终成功绘制出饼图,展示了具体的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前台页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
    <title>echarts</title>
    <script src="<%=basePath%>static/js/echarts.js"></script>
    <script src="<%=basePath%>static/js/jquery-3.3.1.min.js"></script>
</head>
<body>
<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 动态更新数据实现方法 在 Web 开发中,动态更新 ECharts 的数据是一项常见需求。为了实现实时刷新并保持良好的用户体验,可以采用定时器配合 `setOption` 方法来完成这一目标。 #### 使用定时器定期更新数据 通过 JavaScript 定时器(如 `setInterval`),可以在指定的时间间隔内调用函数以更改表中的数据源,并触发视重绘: ```javascript // 初始化表实例 var myChart = echarts.init(document.getElementById('main')); option = { tooltip: { trigger: 'item' }, series: [ { name: '访问来源', type: 'pie', radius: '50%', data:[ {value:1048, name:'搜索引擎'}, {value:735, name:'直接访问'}, {value:580, name:'邮件营销'} ] } ] }; myChart.setOption(option); function updateData() { var newData = generateNewData(); // 自定义获取新数据逻辑 option.series[0].data = newData; // 更新表配置 myChart.setOption({ series: [{ data: newData, }] }); } // 设置每秒执行一次updateData() setInterval(updateData, 1000); ``` 此代码片段展示了如何利用 `setInterval()` 函数每隔一秒调用一次 `updateData()` 来模拟实时数据变化[^2]。 #### 响应外部事件驱动更新 除了固定时间间隔外,还可以监听特定的用户交互或其他应用程序内部发生的事件来进行即时响应式的数据更新。例如,在点击按钮后立即加载最新统计数据并向表传递新的 dataset 参数: ```html <button id="refreshButton">刷新</button> <div id="chartContainer"></div> <script> document.getElementById('refreshButton').addEventListener('click', function () { fetch('/api/latest-data') .then(response => response.json()) .then(newDataset => { const chartInstance = echarts.getInstanceByDom(document.getElementById('chartContainer')); if (chartInstance) { let currentOptions = chartInstance.getOption(); currentOptions.series[0].data = newDataset; chartInstance.setOption(currentOptions); } }) }); </script> ``` 上述 HTML 和 JavaScript 片段说明了当用户按下“刷新”按钮时会发起 HTTP 请求取得最新的 JSON 格式化后的数据集,并将其应用到现有的 ECharts 表上[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值