【实例教程】Echarts 的 Java 封装类库

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

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

首先看看Option的提示。

Option说明

  1. Option正式代码中使用,不需要任何依赖。
  2. GsonOption正式代码中可以使用,需要引入Gson包,使用toString()方法可以转换为JSON结构的数据(支持function,详情看下面的function说明),下个版本会加入view()方法,方便在浏览器中查看。
  3. EnhancedOption测试专用,增加了view()方法和exportToHtml()方法,主要方便在浏览器中直接查看效果。

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

简单例子

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

下面开始本例。

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

//数据对象
class AccessData {
    //日期
    private String date;
    //访问量
    private Integer nums;

    AccessData(String date, Integer nums) {
        this.date = date;
        this.nums = nums;
    }

    public String getDate() {
        return date;
    }

    public Integer getNums() {
        return nums;
    }
}

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

/**
 * 模拟从数据库获取数据
 *
 * @return
 */
public List<AccessData> getWeekData() {
    List<AccessData> list = new ArrayList<AccessData>(7);
    list.add(new AccessData("09-16", 4));
    list.add(new AccessData("09-17", 7));
    list.add(new AccessData("09-18", 14));
    list.add(new AccessData("09-19", 304));
    list.add(new AccessData("09-20", 66));
    list.add(new AccessData("09-21", 16));
    list.add(new AccessData("09-22", 205));
    return list;
}

下面开始构造Option对象:

//获取数据
List<AccessData> datas = getWeekData();

//创建Option对象
EnhancedOption option = new EnhancedOption();

//设置图表标题,并且居中显示
option.title().text("最近7天访问量图表").x(X.center);

//设置图例,居中底部显示,显示边框
option.legend().data("访问量").x(X.center).y(Y.bottom).borderWidth(1);

//设置y轴为值轴,并且不显示y轴,最大值设置400(实际上这个属性不必设置,默认即可)
option.yAxis(new ValueAxis().name("IP")
    .axisLine(new AxisLine().show(true).lineStyle(new LineStyle().width(0))).max(400));

//创建类目轴,并且不显示竖着的分割线
CategoryAxis categoryAxis = new CategoryAxis().splitLine(new SplitLine().show(false));

//不显示表格边框,就是围着图标的方框
option.grid().borderWidth(0);

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

//创建Line数据
Line line = new Line("访问量").smooth(true);

//根据获取的数据赋值
for (AccessData data : datas) {
    //增加类目,值为日期
    categoryAxis.data(data.getDate());

    //日期对应的数据
    line.data(data.getNums());
}

//设置x轴为类目轴
option.xAxis(categoryAxis);

//设置数据
option.series(line);

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

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

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

效果如下:

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

时间: 2024-11-10 08:34:43

【实例教程】Echarts 的 Java 封装类库的相关文章

RabbitMQ实例教程:用Java搞定工作队列

在上一节中,我们学会了使用编程的方式发送和接收一个命名好的队列.本节中我们将会使用工作队列在多个工作者之间分发任务. 工作队列的核心思想是避免立即处理高密集度必须等待完成的任务.它采用了安排任务的方式,将一个任务封装成一个消息把它放进队列.在后台运行的工作进程到时候会将它弹出并执行,这样任务队列中的任务就会被工作进程共享执行. 工作队列适用于Web应用中在一个短的HTTP请求中处理复杂任务的场景. 在上节中,我们发送了一个"Hello World!"字符串消息.现在发送多个字符串消息表

java S2SH项目框架整合搭建实例教程

原创整理不易,转载请注明出处:java S2SH项目框架整合搭建实例教程 代码下载地址:http://www.zuidaima.com/share/1787220771113984.htm 现在开发的一个项目使用S2SH框架,配置环境用了一两天,现在把当时配置环境时写的文档整理下发出来,也算加强点记忆. 1 开发环境 ?         MyEclipse5.5 ?         JDK 1.6 ?         Java EE 5.0 ?         Tomcat6.0 ?      

Retrofit – Java(Android) 的REST 接口封装类库

Retrofit 和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作.同时还封装了网络代码的调用. 例如: public interface GitHubService { @GET("/users/{user}/repos") List<Repo> listRepos(@Path("user") String user); } 定义上面的一个REST API

java webservice实例教程

原文:java webservice实例教程 源代码下载地址:http://www.zuidaima.com/share/1590350954564608.htm 最近在学习web services,网上先关的资料不多,讲的都是很基础,例子也很简单,自己动手敲了敲在这里和大家分享一下,希望能对初学者有所帮助. Web Services服务器端开发 服务器端开发用的是XFire,版本是1.2.6,XFire现在已经成apache下面的一个项目CXF的一部分了,老早就不更新版本了,XFire过不过时

java rmi服务器端客户端传输数据实例教程

原文:java rmi服务器端客户端传输数据实例教程 java代码下载地址:http://www.zuidaima.com/share/1550463269620736.htm package com.zuidaima.rmi; import java.rmi.*; /** *@author www.zuidaima.com **/ public class ZuidaimaClient { public static void main(String[] args) { // 在服务器端设置安

Java-Runoob-高级教程-实例-环境设置实例:4.Java 实例 – 如何查看当前 Java 运行的版本?

ylbtech-Java-Runoob-高级教程-实例-环境设置实例:4.Java 实例 – 如何查看当前 Java 运行的版本? 1.返回顶部 1. Java 实例 - 如何查看当前 Java 运行的版本?  Java 实例 我们可以使用 -version 参数来查看当前 Java 的运行版本,命令如下: java -version 以上代码实例输出结果为: java version "1.6.0_13" Java(TM) SE Runtime Environment (build

Java-Runoob-高级教程-实例-环境设置实例:1.Java 实例 – 如何编译一个Java 文件?

ylbtech-Java-Runoob-高级教程-实例-环境设置实例:1.Java 实例 – 如何编译一个Java 文件? 1.返回顶部 1. Java 实例 - 如何编译 Java 文件  Java 实例 本文我们演示如何编译 HelloWorld.java 文件,其中 Java 代码如下: HelloWorld.java 文件 public class HelloWorld { public static void main(String []args) { System.out.print

Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法-un

ylbtech-Java-Runoob-高级教程-实例-方法:09. Java 实例 – continue 关键字用法 1.返回顶部 1. Java 实例 - continue 关键字用法  Java 实例 Java continue 语句语句用来结束当前循环,并进入下一次循环,即仅仅这一次循环结束了,不是所有循环结束了,后边的循环依旧进行. 以下实例使用了 continue 关键字来跳过当前循环并开始下一次循环: Main.java 文件 public class Main { public

BPEL 实例教程

http://www.oracle.com/technetwork/cn/articles/matjaz-bpel1-090722-zhs.html BPEL 实例教程 作者:Matjaz Juric 了解如何创建一个将一系列虚拟的.与旅行相关的 web 服务结合起来的示例业务流程,然后将其部署到 Oracle BPEL Process Manager 运行时环境. 本文相关下载  示例代码 Oracle BPEL Process Manager 和 Designer 面向 Web 服务的业务流