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

14.5 利用JFreeChart生成区域图

通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFactory的createXYAreaChart()方法获得JFreeChart类的实例,在封装用来绘制区域图的数据时,既可以利用CategoryDataset数据集,也可以利用XYDataset数据集。

XYDataset数据集主要用来绘制与日期相关的统计图,这种统计图的横轴通常为日期标度,纵轴为数值标度,JFreeChart提供了格式化坐标轴标度的功能;在格式化横轴的日期标度时,可以通过java.text.SimpleDateFormat类格式化日期的输出格式,SimpleDateFormat类继承于java.text.DateFormat类。例如,通过下面的代码可以将日期和时间进行格式化:

DateFormat dateFormatDA = new SimpleDateFormat("yyyy-MM-dd");     // 年以4位显示

DateFormat dateFormatDB = new SimpleDateFormat("yy-MM-dd");       // 年以2位显示

DateFormat dateFormatTA = new SimpleDateFormat("HH:MM:SS");       // 24小时的形式显示

DateFormat dateFormatTB = new SimpleDateFormat("HH:MM:SS a");    // 12小时的形式显示

    说明:这里只是给出了几个典型的格式化方式,读者可以在此基础上举一反三。

还可以通过org.jfree.chart.axis.DateTickUnit类定义日期标度的单位和间隔,其中一个构造函数的定义如下:

DateTickUnit(int unit, int count, DateFormat formatter)

参数说明

l     unit:日期标度的统计单位。

l     count:日期标度的输出间隔。

l     formatter:日期标度的格式化方式。

在格式化纵轴的数值标度时,可以通过java.text.DecimalFormat类格式化数值的输出格式,例如可以将数值进行如下格式化:

DecimalFormat decimalFormat = new DecimalFormat("0.00");     // 保留小数点后两位

DecimalFormat decimalFormat = new DecimalFormat("0%");        // 以百分比的形式输出

    说明:这里只是给出了几个典型的格式化方式,读者可以在此基础上举一反三。

还可以通过org.jfree.chart.axis.NumberTickUnit类定义数值标度的间隔,其中一个构造函数的定义如下:

NumberTickUnit(double size, NumberFormat formatter)

参数说明

l     size:数值标度的输出间隔。

l     formatter:日期标度的格式化方式。

 示例14-05 每日股票走势区域图分析

下面来看一个绘制区域图的例子,该例绘制的区域图效果如图14.8所示。

图14.8 每日股票走势区域图分析

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

定义日期轴,每隔两小时输出一个标记,代码如下:

DateAxis domainAxis = new DateAxis("统计时间" + date);

DateFormat dateFormat = new SimpleDateFormat("HH");

DateTickUnit unit = new DateTickUnit(DateTickUnit.HOUR, 2, dateFormat);

domainAxis.setTickUnit(unit);

plot.setDomainAxis(domainAxis);

定义数值轴,以百分比的形式输出,并且每隔5个百分比输出一个标记,代码如下:

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();

DecimalFormat decimalFormat = new DecimalFormat("0%");

NumberTickUnit ntu = new NumberTickUnit(0.05, decimalFormat);

rangeAxis.setTickUnit(ntu);

 

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

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

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

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

    利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...

  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. 利用JFreeChart生成简单柱状图(Java)

    package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...

随机推荐

  1. VM虚拟机中CentOS6.4操作系统安装一

    在 VMware中鼠标单击“编辑虚拟机设置”,在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD(IDE)”,然后在右侧的“CD /DVD(IDE)”连接选项中选择“使用ISO映像文件” ...

  2. asp.net:Parser Error & HTTP 错误 500.21 - Internal Server Error

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEcAAAF8CAIAAACiwUIQAAAgAElEQVR4nO2dyZHzOpZGaVEaADNkBB ...

  3. Redis 压缩存储的配置

    如题,redis是采用了ziplist 元素在不足一定数量时采用压缩存储 hash: zset: list: 如上图所示: ziplist-entries:最大元素数量(即存储了多少个元素) zipl ...

  4. 模拟Django的admin自定义stark组件

    1.新建Django项目--新建app:app01和stark--在settings中配置app和数据库--在models.py中新建模型表--完成数据库迁移 2.在stark下的apps.py中: ...

  5. allegro学习--区域约束

    前言: 在有些情况需要我们在走线时在某些区域的时候,线是细的,例如BGA封装的FPGA在引出线的时候,我们希望在FPGA内部的线细,出了FPGA后,线变粗.如图: 这就用到了区域的规则约束. 实现: ...

  6. 如何用photoshop输出html网页

    如何用photoshop输出html网页 首先得先对PSD文件做切片,有两种方法: ①使用工具栏上的"切片工具", 然后在图象上划出一块一块的区域. ②使用基于参考线的切片,按ct ...

  7. MySQL最优配置文件模板·2016-11-28

    小伙伴们大爱的MySQL最优配置文件模板更新啦.对之前的MySQL最优配置文件·20160901做了一些修正,更为名至实归.可以通过此链接进行下载.当然,更欢迎同学们提出意见和建议,共同打造一个最优M ...

  8. 【转】Java读写文件大全

    使用Java操作文本文件的方法详解        最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(ch ...

  9. 使用JavaMail通过QQ/126服务器服务发送邮件

    https://blog.csdn.net/yidragon88xx/article/details/53230310

  10. 洛谷 U41572 Portal2

    U41572 Portal2 题目背景 某地ENLIGHTENED的XM研究所正在研究Portal的处理法则,想要揭示XM能量的来源以及应用XM能量.ENLIGHTENED的首席科学家Jacks发现其 ...