利用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. win10 专业版 安装tornado 的步骤

    win10 专业版 安装tornado 的步骤: 1.下载tornado源码压缩包 下载网址:https://github.com/tornadoweb/tornado 若是没有github 账号可以 ...

  2. leds-gpio driver

    我们还是先看看platform device是如何define的 platform device 是如何定义的 example1 在板级驱动中定义, 通过platform_add_devices()函 ...

  3. Python:os模块 time模块

    1.os os.popen('cmd').read() 执行某个系统命令,:输出命令结果 os.getcwd()  获取当前操作目录 os.makedirs(r"C:\a\b\c" ...

  4. mysql数据库导出导入

    MYSQL的命令行模式设置: 我的电脑->属性->高级系统设置->环境变量->系统变量-> 选择Path,在后面添加“;path\mysql\bin;”其中path为MY ...

  5. HUAS Summer Contest#4 D题 DP

    Description Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了.要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的 ...

  6. 怎样签发SSL证书

    最近在做怎样让网站有SSL,搞了一天,现在总结一下 首先要安装OPENSSL和 Java的 keytool 先用OPENSSL生成私钥和CSR openssl req -newkey rsa:2048 ...

  7. HDU1024 多段最大和 DP

    题目大意: 在n个数,求不重复的m段中的数据总和的最大值 令dp[i][j]表示将前j个数分成 i 段时得到的最大值(必取到第 j 个数) 状态转移可列为 dp[i][j]=Max(dp[i][j-1 ...

  8. 使用谷歌Z生成条形码以及二维码

    下载地址:http://zxingnet.codeplex.com/ zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便. 首先下载二进制dll文件,引入工程: using Sy ...

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

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

  10. msp430入门编程0

    msp430单片机最小系统 msp430入门学习 msp430入门编程