Bootstrap框架集成ECharts教程

news2024/10/7 11:56:50

最新公司项目要在原有的基础上增加一些饼状图和柱状图来统计一些数据给客户,下面就是集成的一个过程,还是很简单的,分为以下几步

1、引入ECharts的包
2、通过ECharts官网或者菜鸟教程直接拿示例代码过来修修改改直接用就可以了

注意:如果之前你项目有引入过ECharts的包但是版本太低或者说是没有你想要的图表样式,那么你可以在老版本的基础上在引入新版本,然后 在html里面根据引用先后顺序 进行使用也是可以的

一、引入js

<script type="text/javascript" src="plugin/echart/echarts.js" th:src="@{/resources/plugin/echart/echarts.js}"></script>

二、查找示例,拿来用

代码拿走直接用,这个是菜鸟的
在这里插入图片描述
这个ECharts官网的,看上那个领走
在这里插入图片描述
以上都做完后在项目里面通过F12进行调试,我给出示例代码吧,可以参考

		<div class="row" style="margin-top: 20px;">
				<div class="col-lg-4 col-md-4 col-sm-6 cygn-box">
					<!-- 隐藏常用功能-->
					<div class="g-panel"  style="padding: 10px 0" >
						<div style="text-align: center; margin-top: 10px;">
							<div style="font-weight: bold;">
								补卡使用统计
							</div>
							<hr style="margin: 10px;">
							<select  id="userType2" name="pcode">
								<option value="">[[#{user.choice}]]</option> <!-- 请选择 -->
							</select>
						</div>
						<div style="height:400px;">
							<div id="main4" style="width: 600px;height:400px;"></div>
						</div>
					</div>
				</div>
				<div class="col-lg-8 col-md-8 col-sm-6">
					<div class="g-panel" style="padding: 10px 0">
						<div style="text-align: center; margin-top: 10px;">
							<div style="font-weight: bold;">
								充值排行
							</div>
						</div>
						<hr style="margin: 10px;">
						<div style="height:422px;">
							<div id="main5" style="height:365px;"></div>
						</div>
					</div>
				</div>
			</div>
// 封装成模块 第一个柱状图用来统计
function initChart5(option) {
    var myChart = echarts.init(document.getElementById('main4'));
    var userType = $("#userType2").val();
    var param = {};
    param.userType = userType;
    // 调用接口获取数据
    dkyw.request.postSync("*****/*****", param, function (response) {
        if (response.success) {
            var res = response.resultData;
            var data = res.map(function(item) {
                return item.count;
            });
            option.series[0].data = data;
        }
    });
    myChart.setOption(option);
    return myChart; // 返回图表实例
}

// 调用示例
var chartOption4 = {
    // title: {
    //     text: '第一个 ECharts 实例'
    // },
    tooltip: {},
    // legend: {
    //     data: ['数量'],
    //     center: 'center' // 设置图例居中显示
    // },
    xAxis: {
        data: ["今日", "昨日", "近30日"]
    },
    yAxis: {},
    grid: {
        left: '10%', // 调整为更小的数值
        right: '10%', // 调整为更小的数值
        containLabel: true,
        width: '60%', // 调整为更小的数值
        height: '68%' // 调整为更小的数值
    },
    series: [{
        name: '数量',
        type: 'bar',
        data: [5, 20, 36],
        itemStyle: {
            color: '#818cdf' // 设置颜色属性
        },
        barWidth: 35 // 调整柱状图的宽度
    }]
};

// 封装成模块 第二个柱状图用来统计(柱状图x轴显示支付方式,Y轴显示笔数/金额,可以按照笔数/金额切换。)
function initChart6(option) {
    var myChart = echarts.init(document.getElementById('main5'));
    var param = {};
    // 调用接口获取数据
    dkyw.request.postSync("******/*****", param, function (response) {
        if (response.success) {
            var resamt = response.resultData.objectArrayAmountList;
            var rescount = response.resultData.objectArrayCountList;
            option.series[0].data = rescount;
            option.series[1].data = resamt;
        }
        myChart.setOption(option); // 在回调函数内设置图表选项
    });

    // 添加legend组件
    option.legend = {
        data: ['笔数', '金额']
    };
    myChart.setOption(option); // 在调用接口之前先设置图表选项

    return myChart; // 返回图表实例
}

// 调用示例
var chartOption5 = {
    color: ['#3398DB', '#f59e77'], // 设置颜色
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis: [
        {
            type: 'category',
            data: ['微信', '支付宝', '工行', '建行', '京行', '中信', '现金'],
            axisTick: {
                alignWithLabel: true
            }
        }
    ],
    yAxis: [
        {
            type: 'value'
        }
    ],
    series: [
        {
            name: '笔数',
            type: 'bar',
            barWidth: '30%',
            data: [10, 52, 200, 334, 390, 330, 220]
        },
        {
            name: '金额',
            type: 'bar',
            barWidth: '30%',
            data: [20, 80, 150, 264, 320, 250, 180]
        }
    ]
};

后台接口饼状图返回一个对象就可以,如果是柱状图返回一个集合,然后在前端取处理结果集展现到图表上,完结,简单明了,成品
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1806088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三维地图Cesium,加载一个模型,模型沿着给定的一组经纬度路线移动

目录 实现效果 实现思路 功能点 选择移动路线 加载模型和移动路线 重新运行 指定位置(经纬度点)开始移动 视角切换 到站提示 运行 停止 联动接口 完整代码 html js逻辑 trainOperation.js sourceData.js gitee仓库项目代码 疑问解答 实现效果 三维地图Cesiu…

pyqt QlineEdit内部增加按钮方法

按钮放在QlineEdit内部&#xff0c;界面更紧凑&#xff0c;体现了按钮和文本框的强关联。 def addButton(self,lineEdit):btn QtWidgets.QPushButton("")icon1 QtGui.QIcon()icon1.addPixmap(QtGui.QPixmap(":/image/images/th.png"), QtGui.QIcon.Norm…

C++【STL】改造红黑树简单模拟实现set map(带你了解set map的底层实现结构)

目录 一、学前铺垫&#xff08;泛型编程&#xff09; 二、改造红黑树 1.红黑树节点的改造 2.insert的改造 3.迭代器的实现 4.完整改造代码 三、set的模拟实现封装 四、map的模拟实现封装 五、完结撒❀ 前言&#xff1a; 下面为了简单模拟实现set map所出现的代码是以…

【JsDoc】JsDoc用法 | 巧妙用法

type type {other} other 接收表达式或字符 1、数组代码提示 1、效果图 1、码 /*** type {Array.<play|paush|next>} */ let music []2、字符串提示 2、效果图 2、码 /*** type {a|b|c}*/ let str

minio的一个基础使用案例:用户头像上传

文章目录 一、minio下载安装&#xff08;Windows&#xff09;二、案例需求分析三、后端接口开发 一、minio下载安装&#xff08;Windows&#xff09; 1. 下载minio服务端和客户端 minio下载地址 2. 手动搭建目录 /minio/binmc.exeminio.exe/data/logs手动创建minio应用程序目…

Linux入门学习(2)

1.相关复习新的指令学习 &#xff08;1&#xff09;我们需要自己创建一个用户&#xff0c;这个用户前期可以是一个root用户&#xff0c;后期使用创建的普通用户 &#xff08;2&#xff09;文件等于文件内容加上文件属性,对于文件的操作就包括对于文件内容的操作和文件属性&…

像素坐标系与图像坐标系

前言 在数字图像处理中&#xff0c;经常会看到使用 (x, y) 表示图像中的某个像素点。 在一些图像处理库&#xff0c;例如 Pillow 、OpenCV 、Numpy 中也会使用到坐标系处理图像的像素点。 介绍 无论是像素坐标系还是图像坐标系&#xff0c;其原理都是一样的&#xff1a; 以…

Freetype 介绍和使用

目录 一、矢量字体引入 二、Freetype 介绍 1.给定一个字符&#xff0c;怎么在字体文件中找到它的关键点&#xff1f; 2.文字显示过程 3.如何使用 freetype 库 三、在 LCD 上显示一个矢量字体 1.使用 wchar_t 获得字符的 UNICODE 值 2.使用 freetype 得到位图 3.在屏幕上…

Linux 内核优化:提升性能测试效率的关键步骤

大家好&#xff0c;本文介绍了如何通过优化 Linux 内核配置来提高系统性能&#xff0c;特别是在进行性能测试时。从调整文件系统、网络参数到内核参数优化&#xff0c;我们将深入探讨每个关键步骤&#xff0c;以帮助你在性能测试中取得更好的效果。 在进行性能测试时&#xff0…

笔记-Python中的struct模块

了解c语言的人&#xff0c;一定会知道struct结构体在c语言中的作用&#xff0c;它定义了一种结构&#xff0c;里面包含不同类型的数据(int,char,bool等等)&#xff0c;方便对某一结构对象进行处理。而在网络通信当中&#xff0c;大多传递的数据是以二进制流&#xff08;binary …

LabVIEW与Python的比较及联合开发

LabVIEW和Python在工业自动化和数据处理领域各具优势&#xff0c;联合开发可以充分发挥两者的优点。本文将从语言特性、开发效率、应用场景等多个角度进行比较&#xff0c;并详细介绍如何实现LabVIEW与Python的联合开发。 语言特性 LabVIEW 图形化编程&#xff1a;LabVIEW使用…

流程的控制

条件选择语句 我们一般将条件选择语句分为三类&#xff1a; 单条件双条件多条件 本篇文章将分开诉说着三类。 单条件 单条件的语法很简单&#xff1a; if (条件) {// 代码}条件这里我们需要注意下&#xff0c;可以向里写入两种&#xff1a; 布尔值布尔表达式 当然&…

用一个实例看如何分享大量照片 Apache 批量处理和不到50行PHP代码

起因&#xff1a;20多人的同学聚会&#xff0c;有各人拍的照片、视频&#xff0c;包括手机、相机、无人机拍的&#xff0c;仅仅照片原图就已经超过3G了&#xff0c;如果加上视频就很快需要不小的外存了&#xff0c;如何分享和保存这些照片和和视频深究起来是有很多讲究的&#…

黑马集成电路应用开发入门课程

"黑马集成电路应用开发入门课程"旨在引导学员了解集成电路应用开发的基础知识和技能。课程内容涵盖集成电路原理、设计流程、应用开发工具等&#xff0c;通过实践项目和案例分析&#xff0c;帮助学员掌握集成电路应用开发的核心概念和方法&#xff0c;为未来在该领域…

构建第一个ArkTS应用之@卡片事件能力说明

ArkTS卡片中提供了postCardAction()接口用于卡片内部和提供方应用间的交互&#xff0c;当前支持router、message和call三种类型的事件&#xff0c;仅在卡片中可以调用。 接口定义&#xff1a;postCardAction(component: Object, action: Object): void 接口参数说明&#xff1…

Linux---Linux编译器-gcc与g++的使用

GCC是以GPL许可证所发行的自由软件&#xff0c;也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器&#xff0c;现已被大多数类Unix操作系统&#xff08;如Linux、BSD、MacOS X等&#xff09;采纳为标准的编译器。 gcc是专门用来编译C语言的&#xff0c;而g是…

安装MySQL Sample Database

本文安装的示例数据库为官方的Employees Sample Database。 操作过程参考其安装部分。 在安装前&#xff0c;MySQL已安装完成&#xff0c;环境为Linux。 克隆github项目&#xff1a; $ git clone https://github.com/datacharmer/test_db.git Cloning into test_db... remo…

梯度提升决策树(GBDT)

GBDT&#xff08;Gradient Boosting Decision Tree&#xff09;&#xff0c;全名叫梯度提升决策树&#xff0c;是一种迭代的决策树算法&#xff0c;又叫 MART&#xff08;Multiple Additive Regression Tree&#xff09;&#xff0c;它通过构造一组弱的学习器&#xff08;树&am…

9.3 Go 接口的多态性

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Flink的简单学习四

一 有状态计算 1.1 概念 1.状态;上一次计算的结果 2.需要基于上一个结果来进行计算&#xff0c;被称为有状态计算 1.2 未使用有状态计算 1.下面这个代码将相同的key发送到同一个task任务里面计算。就是因为这个导致了&#xff0c;明明之前没有输入b&#xff0c;但是输入b之…