内容简介:上一节我们介绍了如何在Spring Boot中使用模板引擎Thymeleaf开发Web应用的基础。接下来,我们介绍一下后端开发经常会遇到的一个场景:可视化图表。通常,这类需求在客户端应用中不太会用到,但是在后端的各种统计分析模块会经常碰到。比如:通过折线图、柱状图、雷达图等可视化形式,更直观的展现和分析经营状况或系统运行情况。这里我们将引入的数据可视化组件库 ECharts来帮助我们完成这样的任务。ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行
上一节我们介绍了如何在Spring Boot中使用模板引擎Thymeleaf开发Web应用的基础。接下来,我们介绍一下后端开发经常会遇到的一个场景:可视化图表。
通常,这类需求在客户端应用中不太会用到,但是在后端的各种统计分析模块会经常碰到。比如:通过折线图、柱状图、雷达图等可视化形式,更直观的展现和分析经营状况或系统运行情况。这里我们将引入的数据可视化组件库 ECharts来帮助我们完成这样的任务。
ECharts简介
ECharts是百度开源的一个前端组件。它是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
它提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
除了已经内置的包含了丰富功能的图表,ECharts 还提供了自定义系列,只需要传入一个renderItem函数,就可以从数据映射到任何你想要的图形,更棒的是这些都还能和已有的交互组件结合使用而不需要操心其它事情。
你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建。
- 官方网站: https://www.echartsjs.com/zh/index.html
- 案例页面: https://www.echartsjs.com/examples/zh/index.html
动手试一试
第一步:创建一个基础Spring Boot应用,或者拿上一节的工程chapter4-1(仓库地址见文末)来进行加工。
第二步:在 pom.xml
中引入Web应用需要的 web模块
和模板引擎 thymeleaf模块
,比如用Thymeleaf的时候:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
第三步:编写一个Controller,将 /
路径的请求,映射到 index.html
页面
@Controller public class HelloController { @GetMapping("/") public String index(ModelMap map) { return "index"; } }
第四步:在 resources/templates
目录下创建 index.html
页面,具体内容如下:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title>Spring Boot中使用ECharts</title> <script src="https://cdn.bootcss.com/echarts/4.6.0/echarts.min.js"></script> </head> <body> <div id="main"></div> </body> <script type="text/javascript"> // 初始化ECharts组件到id为main的元素上 let myChart = echarts.init(document.getElementById('main')); // 定义图标的配置项 let option = { title: { text: 'Spring Boot中使用ECharts' }, tooltip: {}, // x轴配置 xAxis: { data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, // y轴配置 yAxis: {}, series: [{ // 数据集(也可以从后端的Controller中传入) data: [820, 932, 901, 934, 1290, 1330, 1320], // 图表类型,这里使用line,为折线图 type: 'line' }] }; myChart.setOption(option); </script> </html>
在页面内容中主要包含三部分:
-
<head>
中通过<script>
标签引入ECharts的组件JS,这里使用了bootcss的免费公共cdn。如果用于自己生产环境,不建议使用这类免费CDN的JS或者CSS等静态资源。可以从官网下载所需的静态内容,放到Spring Boot的静态资源位置(如果不知道在哪,可见上一篇),或是放到自己公司的静态资源管理的服务器上,实现动静分离。 -
<body>
中定义了一个id为main的<div>
标签,这个标签后续将用来渲染EChart组件 - 最后的一段
<script>
内容则是具体的EChart图标的展现初始化和配置。具体配置内容可见代码中的注释信息。
第五步:启动应用,访问 localhost:8080
,如果上面操作均无差错,那我们就会得到类似下面的折线图:
关于ECharts图表的调试,官方还提供了一个在线工具,有兴趣的读者可以 点击这里 尝试一下。
更多本系列免费教程连载「点击进入汇总目录」
代码示例
本文的相关例子可以查看下面仓库中的 chapter4-2
目录:
- Github: https://github.com/dyc87112/SpringBoot-Learning/
- Gitee: https://gitee.com/didispace/SpringBoot-Learning/
如果您觉得本文不错,欢迎 Star
支持,您的关注是我坚持的动力!
以上所述就是小编给大家介绍的《Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 在Markdown中用mermaid语法绘制图表
- 前端交互式图表绘制库GoJS介绍
- Python绘制六种可视化图表详解(建议收藏)
- 论文绘图神器来了:一行代码绘制不同期刊格式图表,哈佛博士后开源
- 中了数据可视化的毒:BBC如何使用R语言绘制数据图表?
- ViewGroup 默认顺序绘制子 View,如何修改?什么场景需要修改绘制顺序?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Bandit Algorithms for Website Optimization
John Myles White / O'Reilly Media / 2013-1-3 / USD 19.99
This book shows you how to run experiments on your website using A/B testing - and then takes you a huge step further by introducing you to bandit algorithms for website optimization. Author John Myle......一起来看看 《Bandit Algorithms for Website Optimization》 这本书的介绍吧!