首页 > 其他分享 >SpringBoot+Echarts实现请求后台数据显示饼状图

SpringBoot+Echarts实现请求后台数据显示饼状图

时间:2023-03-24 17:37:02浏览次数:61  
标签:name list Echarts var data echarts 状图 SpringBoot


场景

SpringBoot搭建后台获取数据,前端可视化使用echarts的饼状图。

Echarts3官网:

https://www.echartsjs.com/index.html

获取Echarts

从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。开发环境建议下载源代码版本,包含了常见的错误提示和警告。

在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。

通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts”

cdn 引入,你可以在 cdnjs,npmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。

引入 ECharts

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

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

绘制一个简单的图表

在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。

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

然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图,下面是完整代码。

<!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>

这样你的第一个图表就诞生了!

以上是官网示例。

实现

html中引入echarts

<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js"></script>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;border:1px dashed #000;"></div>

在模板中已经引入jquery,这里不再引入。

编写js

$(document).ready(function() {

    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));
    // 指定图表的配置项和数据
    var names=[];
    var values=[];
    //数据加载完之前先显示一段简单的loading动画
    myChart.showLoading();
    $.ajax({
        type : "post",
        async : true,            //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
        url : "/wmsLogisticMonitoring/EcharsShow",    //请求发送到dataActiont处
        data : {},
        dataType : "json",        //返回数据形式为json
        success : function(result) {
            //请求成功时执行该函数内容,result即为服务器返回的json对象
            if (result) {
                for(var i=0;i<result.length;i++){
                    names.push(result[i].name);
                    values.push(result[i].num);
                }
                myChart.hideLoading();    //隐藏加载动画
                myChart.setOption(
                    {
                        title: {
                            text: '物料运输件数',
                            x: 'center'
                        },
                        tooltip: {
                            trigger: 'item',
                            formatter: "{a} <br/>{b} : {c} ({d}%)"
                        },
                        legend: {
                            orient: 'vertical',
                            left: 'left',
                            data: names
                        },
                        series: [
                            {
                                name: '物料来源',
                                type: 'pie',
                                radius: '55%',
                                center: ['50%', '60%'],
                                data: result,
                                itemStyle: {
                                    emphasis: {
                                        shadowBlur: 10,
                                        shadowOffsetX: 0,
                                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                                    }
                                }
                            }
                        ]
                    }
                );
            }
        },
        error : function(errorMsg) {
            //请求失败时执行该函数
            alert("图表请求数据失败!");
            myChart.hideLoading();
        }
    });//end ajax
   
});//刷新方法结束

SpringBoot后台编写

编写实体类Echarts

package com.ws.bus.sys.vo.LogisticsMonitoring;

import lombok.Data;

/**
 * Created by badao on 2019/5/7.
 */
@Data
public class Echarts {
    private String name;
    private Integer value;

    public Echarts(String name, Integer value) {
        this.name = name;
        this.value = value;
    }

    public Echarts() {
    }
}

编写后台Controller

@Description("获取Echarts数据")
    @RequestMapping("/EcharsShow")
    @ResponseBody
    public List<Echarts> echartsShow(Model model) {
        List<Echarts> list = new ArrayList<Echarts>();
        list.add(new Echarts("正极车间",100));
        list.add(new Echarts("负极车间",200));
        list.add(new Echarts("立体仓库",300));
        list.add(new Echarts("清洁车间",400));
        return list;
    }

效果

SpringBoot+Echarts实现请求后台数据显示饼状图_初始化

标签:name,list,Echarts,var,data,echarts,状图,SpringBoot
From: https://blog.51cto.com/BADAOLIUMANGQZ/6147507

相关文章

  • echarts一些配置
    官网地址简单基础构造初始化:引入echarts.js<scriptsrc="echarts.js"></script>构造一个div<body><!--为ECharts准备一个定义了宽高的DOM--><divid="m......
  • SpringBoot集成海康网络设备SDK
    目录SDK介绍概述功能下载对接指南集成初始化项目初始化SDK初始化SDK概述新建AppRunner新建SdkInitService新建InitSdkTask新建HCNetSDK调用业务接口部署拷贝so库文件到部......
  • springboot配置ActiveMQ
    @ConfigurationpublicclassActiveMQConfig{@BeanpublicJmsTemplatejmsTemplate(ConnectionFactoryconnectionFactory){JmsTemplatejmsTemp......
  • SpringBoot+jquery实现post提交表单并添加隐藏域属性完成编辑功能
    场景如下页面编辑时:在选择归属机构时会出现树形结构,所以在提交时需要额外提交一些信息,可以在form中使用input的隐藏域进行存值。实现html代码<divclass="modalinmodal"id......
  • Echarts中柱状图X轴显示时间显示不开倾斜显示的属性
    场景SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图:SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_QIZHI的博客-在上面的基础......
  • SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图
    场景若依前后端分离版本地搭建开发环境并运行项目的教程:若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-在上面搭建架构的基础上,实现使用Ele......
  • SpringBoot+Vue+Echarts实现双柱体柱状图
    场景 若依前后端分离版本地搭建开发环境并运行项目的教程:若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-在上面搭建架构的基础上,实现使用E......
  • SpringBoot+Vue+OpenOffice实现文档管理(文档上传、下载、在线预览)
    场景SpringBoot集成OpenOffice实现doc文档转html:SpringBoot集成OpenOffice实现doc文档转html_BADAO_LIUMANG_QIZHI的博客-在上面初步使用了OpenOffice之后,怎样实现文档管理,......
  • springboot应用瘦身
    1、将依赖的jar包存放到其他路径mvndependency:copy-dependencies-DoutputDirectory=lib_path-DincludeScope=runtime2、在pom文件添加插件属性属性<plugin><gr......
  • SpringBoot与Spring Cloud对应关系
    springBoot与springcloud版本对应关系https://start.spring.io/actuator/info   参考:https://zhuanlan.zhihu.com/p/556412488......