当前位置:   article > 正文

Echarts 的 Java 封装类库_enhancedoption

enhancedoption

Echarts 的 Java 封装类库:http://www.oschina.net/p/echarts-java

没想到喜欢Echarts 的 Java 封装类库的人还挺多,在源码中的测试例子一般目的只是构造官网例子的结构,这里写个比较实际的简单例子来演示如何写出一个图表。

首先看看Option的提示。

##Option说明

  1. Option正式代码中使用,不需要任何依赖。

  2. GsonOption正式代码中可以使用,需要引入Gson包,使用toString()方法可以转换为JSON结构的数据(支持function,详情看下面的<b>function说明</b>),下个版本会加入view()方法,方便在浏览器中查看。

  3. EnhancedOption测试专用,增加了view()方法和exportToHtml()方法,主要方便在浏览器中直接查看效果。

下面的例子使用的EnhancedOption,实际使用时,用json工具将Option转换为JSON字符串即可。

##简单例子

这个例子模仿的OSCGIT中的【管理】中的【项目访问统计】图表,这个图表很简单。例如本项目的统计图表如下:

项目访问统计

下面开始本例。

创建访问日期,访问数对象:

  1. //数据对象
  2. class AccessData {
  3. //日期
  4. private String date;
  5. //访问量
  6. private Integer nums;
  7. AccessData(String date, Integer nums) {
  8. this.date = date;
  9. this.nums = nums;
  10. }
  11. public String getDate() {
  12. return date;
  13. }
  14. public Integer getNums() {
  15. return nums;
  16. }
  17. }

然后是一个模拟获取数据的方法:

  1. /**
  2. * 模拟从数据库获取数据
  3. *
  4. * @return
  5. */
  6. public List<AccessData> getWeekData() {
  7. List<AccessData> list = new ArrayList<AccessData>(7);
  8. list.add(new AccessData("09-16", 4));
  9. list.add(new AccessData("09-17", 7));
  10. list.add(new AccessData("09-18", 14));
  11. list.add(new AccessData("09-19", 304));
  12. list.add(new AccessData("09-20", 66));
  13. list.add(new AccessData("09-21", 16));
  14. list.add(new AccessData("09-22", 205));
  15. return list;
  16. }

下面开始构造Option对象:

  1. //获取数据
  2. List<AccessData> datas = getWeekData();
  3. //创建Option对象
  4. EnhancedOption option = new EnhancedOption();
  5. //设置图表标题,并且居中显示
  6. option.title().text("最近7天访问量图表").x(X.center);
  7. //设置图例,居中底部显示,显示边框
  8. option.legend().data("访问量").x(X.center).y(Y.bottom).borderWidth(1);
  9. //设置y轴为值轴,并且不显示y轴,最大值设置400,最小值-100(OSC为什么要有-100呢?)
  10. option.yAxis(new ValueAxis().name("IP")
  11. .axisLine(new AxisLine().show(true).lineStyle(new LineStyle().width(0)))
  12. .max(400).min(-100));
  13. //创建类目轴,并且不显示竖着的分割线,onZero=false
  14. CategoryAxis categoryAxis = new CategoryAxis()
  15. .splitLine(new SplitLine().show(false))
  16. .axisLine(new AxisLine().onZero(false));
  17. //不显示表格边框,就是围着图标的方框
  18. option.grid().borderWidth(0);

处理好上面的基本配置后,下面处理数据。

  1. //创建Line数据
  2. Line line = new Line("访问量").smooth(true);
  3. //根据获取的数据赋值
  4. for (AccessData data : datas) {
  5. //增加类目,值为日期
  6. categoryAxis.data(data.getDate());
  7. //日期对应的数据
  8. line.data(data.getNums());
  9. }
  10. //设置x轴为类目轴
  11. option.xAxis(categoryAxis);
  12. //设置数据
  13. option.series(line);

上面通过for循环,一次放入一个类目和数据,最后将类目和Line赋值给option

最后执行view()方法即可查看。

  1. //打开浏览器预览
  2. option.view();

效果如下:

echarts效果

从smooth的效果来看,还是highcharts的平滑效果更好。另外IP的位置不能那样居中,不过这都不是必须的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/224998?site
推荐阅读
相关标签
  

闽ICP备14008679号