利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)
利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)
通过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开发技术大全)的更多相关文章
- 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)
利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...
- 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)
利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...
- 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)
利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表 实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...
- JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)
FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...
- 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)
利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...
- JFreeChart生成饼形图(3) (转自 JSP开发技术大全)
JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...
- JFreeChart生成柱形图(2) (转自 JSP开发技术大全)
JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...
- JFreeChart基础(1) (转自 JSP开发技术大全)
JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...
- 利用JFreeChart生成简单柱状图(Java)
package barchartdemo1; import <a href="http://lib.csdn.net/base/javaee" class='replace_ ...
随机推荐
- BZOJ2007 NOI2010 海拔 平面图转对偶图 最小割
题面太长啦,请诸位自行品尝—>海拔 分析: 这是我见过算法比较明显的最小割题目了,很明显对于某一条简单路径,海拔只会有一次变换. 而且我们要最终使变换海拔的边权值和最小. 我们发现变换海拔相当于 ...
- 简单说一下Set,list,Map的类型和自己的特点
首先是Set,List,Map Set和list都是继承了Conllection接口,而Map是本身就是一个接口 set是最简单的一种集合,没有重复对象 set接口主要有两个实现: 1,hashSet ...
- Volume 1. String(uva)
10361 - Automatic Poetry #include <iostream> #include <string> #include <cstdio> # ...
- jupyter 教程
官网: http://jupyter.org/
- linux下的文档处理及tar命令
1.使用cat命令进行纵向合并 使用‘>’是将左边的内容覆盖到右边 使用‘>>’是将左边的内容追加到右边文档中 还可使用‘>’将不同文件进行合并 2.管道符‘|’统计行数 使用 ...
- echarts的简单应用之(一)柱形图
前段时间做项目需要绘制一些图表来展示信息,从网上资料来看用的比较多的是百度开源的echarts.echarts的官网上有API以及demo.上面的图形都是非常炫的,不过都是静态 数据,我们做项目时不可 ...
- 使用idea搭建ssh项目
参考: https://www.cnblogs.com/getchen/p/8036709.html 需要自己提前在数据库中建好表 然后连接数据库通过侧边栏的persistence来生成实体类和相应的 ...
- POJ1308/HDU1325/NYOJ129-Is It A Tree?,并查集!
Is It A Tree? Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28838 Accepted: 9843 -& ...
- Codeforces Round #321 (Div. 2)-B. Kefa and Company,区间最大值!
->链接在此<- B. Kefa and Company time limit per test 2 seconds memory limit per test 256 megabytes ...
- ajax接收json数据到js解析
今天又学到了一点新知识,脑子记不住东西特把它记录下来! 页面ajax请求后台时一般都是返回字符串进行判断,要是返回list或者对象时该怎么办? 第一种:ajax接收到list并返回给前台 js代码: ...