利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)

14.6 利用JFreeChart生成时序图

通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFactory的createTimeSeriesChart()方法获得JFreeChart类的实例,在封装用来绘制时序图的数据时,只能利用XYDataset数据集,而不能利用CategoryDataset数据集。

时序图与折线图有些类似,不过时序图提供了绘制移动平均线的功能,通过给定的数据集对象,可以自动计算任意时间段的移动平均值,移动平均值的计算方法请参见表14.8。

表14.8                                                    移动平均值的计算方法

时    间

零 售 价

2天内的移动平均值

3天内的移动平均值

移动平均值的计算方法

移动平均值的
计算方法

2008-8-6

4

也可视为4

也可视为4

2008-8-7

6

5

(4+6)/2

也可视为5

2008-8-8

8

7

(6+8)/2

6

(4+6+8)/3

如果要绘制移动平均线,就要创建一个用来绘制移动平均线的数据集实例,MovingAverage类提供了多个重载的用来创建数据集对象的静态方法,其一的定义如下:

public static TimeSeries createMovingAverage(TimeSeries source,

String name, int periodCount, int skip)

参数说明

l     source:移动平均线对应的绘图数据集实例,移动平均线的绘制数据即根据该实例产生。

l     name:移动平均线图例的名称。

l     periodCount:移动平均值的计算周期。

l     skip:移动平均值的起始计算点。

然后通过TimeSeriesCollection类的addSeries()方法,将绘图数据集和移动平均线数据集添加到TimeSeriesCollection类的实例中。

 示例14-06 每日股票走势时序图分析

下面来看一个绘制时序图的例子,该例绘制的时序图效果如图14.9所示。

图14.9 每日股票走势时序图分析

代码14-06 光盘位置:光盘\mingrisoft\sl\14\06

创建绘图数据集实例,代码如下:

TimeSeries timeSeries = new TimeSeries(chartTitle, xTitle, yTitle, Minute.class);

Iterator it = data.keySet().iterator();

Minute minute;

while (it.hasNext()) {

minute = (Minute) it.next();

timeSeries.add(minute, (Double) data.get(minute));

}

创建用来绘制移动平均线的数据集实例,代码如下:

TimeSeries average1 = MovingAverage.createMovingAverage(timeSeries,

"每1小时平均涨幅百分比", 60, 0);      // 绘制1小时移动平均线

TimeSeries average2 = MovingAverage.createMovingAverage(timeSeries,

"每2小时平均涨幅百分比", 120, 0);     // 绘制2小时移动平均线

TimeSeries average4 = MovingAverage.createMovingAverage(timeSeries,

"每4小时平均涨幅百分比", 240, 0);     // 绘制4小时移动平均线

将数据集实例和移动平均线数据集实例添加到TimeSeriesCollection类的实例中,代码如下:

TimeSeriesCollection dataset = new TimeSeriesCollection();

dataset.addSeries(timeSeries);

dataset.addSeries(average1);

dataset.addSeries(average2);

dataset.addSeries(average4);

 
 

利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)的更多相关文章

  1. 利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)

    利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...

  2. 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)

    利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...

  3. 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)

    利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表  实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...

  4. JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)

    FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...

  5. 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)

    利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...

  6. JFreeChart生成饼形图(3) (转自 JSP开发技术大全)

    JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...

  7. JFreeChart生成柱形图(2) (转自 JSP开发技术大全)

    JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...

  8. JFreeChart基础(1) (转自 JSP开发技术大全)

    JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...

  9. IntelliJ IDEA 如何生成时序图?

    进入扩展程序安装 File > Settings > Plugins > Browse Repositories 搜索 SequenceDiagram,点击右边 Install 安装 ...

随机推荐

  1. Python学习-列表的修改,删除操作

    列表的修改操作 列表中的许多操作和字符串中有许多的相同点,因为列表是一个有顺序可变的元素集合,所以在列表中可以进行增加,删除,修改,查找的操作. 列表的修改操作: 如果你想单个修改列表中的某一个元素, ...

  2. Kvm:启动报错:error: internal error: process exited while connecting to monitor: 2018-11-12T01:47:14.993371Z qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory

    今天有台kvm挂了,物理机启动时报错 很明显看报错显示内存不足,无法分配内存,查看物理机内存使用正常,.xml修改虚机内存后启动依然报错 报错: 这时候需要看一下主机确保可以分配多少内存 sysctl ...

  3. 运算符、流程控制、while循环

    运算符: 1. 算术运算符: “ + ”.“ - ” .“ * ” .“ / ” 分别为加.减.乘.除. # % 是“取模运算符”,就是返回除法的余数.eg. a = 3, b=5, b % a 就是 ...

  4. 【中文排序】mysql order by 中文排序

    1. 在MySQL中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的. 这种情况在MySQL的很多版本中都存在. 如果这个问题不解决,那么MySQL ...

  5. HDU 5641 King's Phone【模拟】

    题意: 给定一串密码, 判断是否合法. 长度不小于4 不能重复经过任何点 不能跳过中间点,除非中间点已经经过一次. 分析: 3*3直接记录出可能出现在两点之间的点,直接模拟就好. 注意审题,别漏了判断 ...

  6. [bzoj2561]最小生成树_网络流_最小割_最小生成树

    最小生成树 bzoj-2561 题目大意:题目链接. 注释:略. 想法: 我们发现: 如果一条权值为$L$的边想加入到最小生成树上的话,需要满足一下条件. 就是求出原图的最小生成树之后,这个边当做非树 ...

  7. Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用

    一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的 而在Spring中,基于Filter这种方式可以实现Bean预处理.后处理. 比如注入FilterRegistrationBean,然后 ...

  8. JSP中HTTP状态码

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/http-status-codes.html: HTTP请求格式和HTTP响应消息的格式一样,都有以下结构 ...

  9. Servlet的调试

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/debugging.html: 测试/调试Servlet始终是困难的.Servlets往往涉及大量 ...

  10. u盘--软驱

    https://item.taobao.com/item.htm?spm=a230r.1.14.26.XUgxcR&id=12352589458&ns=1&abbucket=5 ...