ECharts Java
由百度开发的大名鼎鼎的 Apache ECharts 想必是当下最流行的数据可视化库之一,其支持的丰富的图表类型、炫酷的动画效果、以及简单易上手的代码,让人很难不心动。但对于广大的Java开发者而言,想要在后端支持Apache ECharts却是个难题——虽然Apache ECharts功能的强大让人十分眼馋,但是它本身采用TypeScript编写,后端没法直接使用。稍微了解ECharts一些的小伙伴可能知道,ECharts主要的参数是Option对象,该对象存储了所有和可视化相关的数据、图表类型和交互方法。那么在一些前后端不分离的场景下,怎么用Java构造Option对象呢?ECharts Java帮你解决了这个问题。
这里有人可能会说,现在都是前后端分离的时代了,为什么还要解决这个问题呢?诚然,前后端分离逐渐成为大势所趋,但无可否认,前后端不分离的需求也仍然大量存在。或许是旧的系统仍需要在后端支持数据可视化的渲染,或许是学生的学期项目的硬性要求,或许是一些后端开发者对前端语言不是很熟悉......如果你在github里搜索“ECharts Java”,排名第一的library拥有1k的star,其需求量可见一斑。但是很可惜,它仅支持2.x/3.x版本的Apache ECharts,而现在ECharts已经更新到了5.x版本。为了填补当下支持最新版本的ECharts的Java类库的空白,我们的ECharts Java诞生了。
✨安装
Maven项目
<dependency>
<groupId>org.icepear.echarts</groupId>
<artifactId>echarts-java</artifactId>
<version>1.0.3</version>
</dependency>
Gradle项目
implementation 'org.icepear.echarts:echarts-java:1.0.3'
🌠特性
- 简单、整洁、高度组织化的 API 接口,支持链式调用
- 完整保存 Apache ECharts 的功能
- 快速集成至当前流行的 Web 框架
- 灵活的导出格式,支持 HTML、PNG 和 JSON
- 完整、详细的文档和示例库
🔭 使用
简简单单几行可以生成一个交互性很强的动态柱形图(还可以一键下载哦)
生成的index.html如下,
如果想生成JSON格式的Option对象怎么办呢?也只需要几行的功夫!
生成的表示Option的JSON文件像这样,
你以为这样就完了?NoNoNo,我们深知后端开发者的不容易,把ECharts Java和一些流行的后端框架像SpringBoot等巧妙地结合了起来。
🎇 Demo
💌 彩蛋
- 本项目灵感来源于卡耐基梅隆大学的课程,Principles of Software Construction Objects, Design, and Concurrency。我们在此真诚地感谢 Christian 和 Vincent 在 2021 秋天教授的这门课程。
- 在2022春天教授的该课程里,作者@incandescentxxc也作为助教,将该库作为推荐可视化库融入到课程的一个作业里,超过30人使用了该库,ECharts Java也受到大家一致的好评。
- 本项目同样也受到 pyecharts 和 go-echarts 的启发。
💡 作者
欢迎大家使用和提任何有关的改进建议!最后,别忘了给我们在Github上给该项目点一个star哟!