Echarts第二讲-JAVA实现
来源:互联网 发布:谢云流捏脸数据下载 编辑:程序博客网 时间:2024/05/17 22:08
上一讲的Echarts小记介绍了一些基本的使用点,安装,引用,配置option,组装数据。
但是有没有发现,Echarts的option要配置大量js文件,即使你把单独引用一个js文件,看上去还是很冗长。当你做一两个图表的时候还是,但我这次的需求要设计100多个不同样式的宏观数据图表时,还这样做就要奔溃了。
仔细发现option是标准的json格式的数据,也就是说我们后台可以动态的组装option在传给前台给Echarts进行实例化就搞定。一开始我的想法是把option看成一个类,它里面的多个配置看作是option的属性,最后在把option类转化为json格式的字符串就搞定了。然后再去看Echarts提供的API文档,立马吓尿了太多可配置的属性了,任务的工期有限没办法去全部把所有的参数都整成类,在想想别人也肯定遇到我类似的问题。
google搞起,搜索java 现实Echarts 在开源中国中就找到大神已经对我的想法实现好了,简直是完美。
<dependency> <groupId>com.github.abel533</groupId> <artifactId>ECharts</artifactId> <version>3.0.0</version></dependency>
maven引用就可以使用了。接下来就是我们愉快的快速配置option类,接下来我的思路就是先统一风格,把所有公共option的属性先定义好,然后针对不同的图表进行定制
/**公用的Option参数 * @param json 图表数据 * @return */ public static Option getDefaultOption(JSONObject json){ Option option = new Option(); option.toolbox().show(true).feature(Tool.mark, Tool.dataView, new MagicType(Magic.line), Tool.restore, Tool.saveAsImage); option.tooltip().trigger(Trigger.axis).axisPointer().setType(PointerType.shadow); option.grid().left(3).right(4).bottom(3).containLabel(true); option.dataZoom(new DataZoom().type(DataZoomType.inside).xAxisIndex(0)); CategoryAxis categoryAxis = new CategoryAxis(); categoryAxis.setType(AxisType.category); categoryAxis.setData(json.getJSONArray("F1")); option.xAxis(categoryAxis); option.yAxis(new ValueAxis().type(AxisType.value),new ValueAxis().type(AxisType.value)); return option; }
然后看一个定制的图表
public String getGdpChangeOption(JSONObject json) { option.legend("资本形成", "净出口","消费支出","GDP同比"); Bar bar1 = new Bar(); bar1.name("资本形成").stack("总量").type(SeriesType.bar).label().normal().show(true); bar1.setData(json.getJSONArray("F2")); Bar bar2 = new Bar(); bar2.name("净出口").stack("总量").type(SeriesType.bar).label().normal().show(true); bar2.setData(json.getJSONArray("F3")); Bar bar3 = new Bar(); bar3.name("消费支出").stack("总量").type(SeriesType.bar).label().normal().show(true); bar3.setData(json.getJSONArray("F4")); Line line = new Line(); line.name("GDP同比").type(SeriesType.line).yAxisIndex(0); line.setData(json.getJSONArray("F5")); option.series(bar1,bar2,bar3,line); return JSONObject.toJSONString(option); }
剩下的就简单了把返回的json格式的字符串传到页面,并且所有的图表都可以共用这个页面
var myChart = echarts.init(document.getElementById('myChart')); //myChart.showLoading(); //预加载动画 option = $!option; myChart.setOption(option);
图片就展现出来了,在做接下来的图表就有点无聊啦
阅读全文
0 0
- Echarts第二讲-JAVA实现
- java 第二讲
- Java学习,第二讲
- Java基础第二讲
- Echarts后台Java实现
- 第二讲 Java语言基础知识
- 第二讲 Java语言基础知识
- 第二讲 Java语言基础知识
- 第二讲 Java组件容器
- 第二讲 Java组件容器
- java第二讲(随笔)
- Java SE 学习 第二讲
- java第二讲 基本数据类型
- java基础学习第二讲
- 【Java基础】第二讲 Java语言基础知识
- Java基础:第二讲 Java能干什么
- 【Java教程】第二讲 Java语言基础知识
- 最优化第二讲——一维搜索法(黄金分割法和java实现)
- Spring Boot 配置文件 – 在坑中实践
- js取<span>的值
- caffe中对于softmax layer的说明
- dedecms后台管理员密码忘记了该如何解决
- Redis 运维
- Echarts第二讲-JAVA实现
- 基于VS2017的C++与opencv3.2.0版本的图片读取和显示的小程序
- spring boot motan 整合
- windows7下Django项目生产环境搭建及踩过的坑
- 正版口腔管理软件免费使用,口腔诊所业绩提升就靠它
- ubuntu16.04-----kinetic 安装和配置navigation 包时遇到错误
- 关于/var/run/docker.sock
- 词向量
- LinuxStudyNote(9)-Linux常用命令(2)-文件处理命令(4)-显示当前目录命令pwd