- 浏览: 144223 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zjw530134683:
按照你说的操作方式,word没有打印成功,但是EXCEL打印成 ...
java用JCom打印 -
listen-raining:
哥们,麻烦问下Unix操作系统下如何用jcom ?
java用JCom打印 -
另一花生:
楼主,我在刚开始学习这个,我发现您的这个文档学习了,但是我想知 ...
java用JCom打印 -
上官车月:
...
automation服务器不能创建对象 ActiveX -
skynet_java:
:jp.ne.so_net.ga2.no_ji.jcom.JC ...
java用JCom打印
Jfreechart功能介绍
JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
它可以通过数据生成相应的报表
我们可以从官方网站上获取最新版本和相关资料(但是jfree的Developer Guides是需要花美金才能获取),
获取地址:http://www.jfree.org/jfreechart/index.html(同时可以获得简明介绍)
JFreeChart目前是最好的java图形解决方案,基本能够解决目前的图形方面的需求,主要包
括如下几个方面:
pie charts (2D and 3D):饼图(平面和立体)
bar charts (regular and stacked, with an optional 3D effect):柱状图
line and area charts:曲线图
time series, high/low/open/close charts and candle stick charts:时序图
combination charts:复合图
Gantt charts:甘特图
(态图表,饼图(二维和三维) , 柱状图 (水平,垂直),线图,点图,时间变化图,甘特图, 股票行情图,混和图, 温度计图, 刻度图等常用商用图表)
图形可以导出成PNG和JPEG格式,同时还可以与PDF和EXCEL关联
JFreeChart核心类库介绍:
研究jfreechart源码发现源码的主要由两个大的包组成:org.jfree.chart,org.jfree.data。其中前者主要与图形本身有关,后者与图形显示的数据有关。具体研究如果大家有兴趣的话可以自己研究。
核心类主要有:
org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象
org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持
org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴和横轴
org.jfree.chart.render.XXXRender:负责如何显示一个图表对象
org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接
XXXXXToolTipGenerator:用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类
数据集对象:
CategoryDataset:
String[] rowKeys = { "One", "Two", "Three" };
String[] colKeys = { "1987", "1997", "2007" };
double[][] data = { { 50, 20, 30 }, { 20, 10D, 40D },
{ 40, 30.0008D, 38.24D }, };
CategoryDataset cd = DatasetUtilities.createCategoryDataset(rowKeys, colKeys, data);
CategoryDataset对象 数据用于(Bar-柱状图) (Area-区域图) (Line-小折线图)
rowKeys:横坐标点标识,1维数组,可设多个,如果数目太多图片显示不开则取平均值,(如:点标识为:1,2,3,4,5,图片如果显示不开则显示1,3,5)将图片分辨率设大一些可以解决此问题。
colKeys:竖坐标点标识,同上。
date:数据。其中{ 50, 20, 30 }为一条数据,如果是小折线图则是一条线,data里有三条线。支持double型数据
PieDataset:
DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
defaultpiedataset.setValue("One", new Double(37.800000000003D));
defaultpiedataset.setValue("Two", new Double(20.002D));
defaultpiedataset.setValue("Three", new Double(17.504D));
defaultpiedataset.setValue("Four", new Double(47D));
PieDataset对象, 数据用于 (Pie-饼状图)
第一个参数为饼状图其中一个区域的标识
第二个参数为饼状图其中一个区域所占的大小,支持double型数据
Defaultpiedataset里共有4个区域
XYDataset:
// 用于生成第一条折线
XYSeries xyseries1 = new XYSeries("One");
xyseries1.add(1, 22420);
xyseries1.add(2, 2312134.2320);
xyseries1.add(3, 0);
// 用于生成第二条折线,以此类推
XYSeries xyseries2 = new XYSeries("Two");
for (int i = 0; i <= 19; i++) {
int x = i + 1;
xyseries2.add(x, i * 10);
}
XYSeriesCollection xySeriesCollection = new XYSeriesCollection();
将两条线加入到坐标折线图中
xySeriesCollection.addSeries(xyseries1);
xySeriesCollection.addSeries(xyseries2);
XYDataset对象,数据用于(XYLine-XY坐标折线图)
XYSeries xyseries1 = new XYSeries("One")为其中一条折线“one”为这条线的标识
xyseries1.add(1, 22420);第一个参数为横坐标点标识。第二个参数为数据,也是竖坐标点标识,它会根据数据的最大值和最小值设置竖坐标点的最大值和最小值。可设多个折点。
创建报表
Area(区域图):
JFreeChart jfreechart = ChartFactory.createAreaChart(“AreaPicName”, // 标题
“XLineName”, // categoryAxisLabel (category轴,横轴,X轴标签)
“YLineName”, // valueAxisLabel(value轴,纵轴,Y轴的标签)
categoryDataset, // dataset数据模型
PlotOrientation.VERTICAL, true, // legend
false, // tooltips
false); // URLs
// 以下的设置可以由用户定制,也可以省略
CategoryPlot plot = (CategoryPlot) jfreechart.getPlot();
plot.setBackgroundAlpha(0.5f);
plot.setForegroundAlpha(0.5f);
将以创建好的数据模型放到参数里
Bar (柱状图):
JFreeChart jfreechart = ChartFactory.createBarChart(“BarPicName”, // 标题
“XLineName”, // categoryAxisLabel (category轴,横轴,X轴的标签)
“YLineName”, // valueAxisLabel(value轴,纵轴,Y轴的标签)
categoryDataset, // dataset数据模型
PlotOrientation.VERTICAL, true, // legend
false, // tooltips
false); // URLs
// 以下的设置可以由用户定制,也可以省略
CategoryPlot plot = (CategoryPlot) jfreechart.getPlot();
plot.setBackgroundAlpha(0.5f);
plot.setForegroundAlpha(0.5f);
// 其他设置 参考 CategoryPlot类
将以创建好的数据模型放到参数里
Line (小折线图):
// 创建JFreeChart对象:ChartFactory.createLineChart
JFreeChart jfreechart = ChartFactory.createLineChart(“LinePicName”, // 标题
“XLineName”, // categoryAxisLabel (category轴,横轴,X轴标签)
“YLineName”, // valueAxisLabel(value轴,纵轴,Y轴的标签)
categoryDataset, // dataset数据模型
PlotOrientation.VERTICAL, true, // legend
false, // tooltips
false); // URLs
// 以下的设置可以由用户定制,也可以省略
CategoryPlot plot = (CategoryPlot) jfreechart.getPlot();
plot.setBackgroundAlpha(0.5f);
plot.setForegroundAlpha(0.5f);
// 其他设置 参考 CategoryPlot类
将以创建好的数据模型放到参数里
XYLine (XY坐标折线图):
// 创建JFreeChart对象:ChartFactory.createXYLineChart
JFreeChart jfreechart = ChartFactory.createXYLineChart(“XYLinePicName”, // 标题
“XLineName”, // categoryAxisLabel (category轴,横轴,X轴标签)
“YLineName”, // valueAxisLabel(value轴,纵轴,Y轴的标签)
dataset, // dataset数据模型
PlotOrientation.VERTICAL, true, // legend
false, // tooltips
false); // URLs
// 以下的设置可以由用户定制,也可以省略
XYPlot plot = (XYPlot) jfreechart.getPlot();
plot.setBackgroundAlpha(0.5f);
plot.setForegroundAlpha(0.5f);
// 其他设置 参考 CategoryPlot类
将以创建好的数据模型放到参数里
Pic (饼状图):
JFreeChart jfreechart = ChartFactory.createPieChart(“PicName”, 标题
pieDataset, // dataset数据模型
true, // legend
false, // tooltips
false); // URLs
// 以下的设置可以由用户定制,也可以省略
PiePlot pieplot = (PiePlot) jfreechart.getPlot();
pieplot.setBackgroundAlpha(0.5f);
pieplot.setForegroundAlpha(0.5f);
// 其他设置 参考 CategoryPlot类
将以创建好的数据模型放到参数里
将图片存储到本地:
FileOutputStream out = new FileOutputStream(“C:/abc”);图片输出路径</s
发表评论
-
jvm32位和64位的区别
2016-10-27 09:44 652jvm32位和64位的区别 : http://zyslov ... -
正则表达式
2016-09-28 14:10 468匹配中文字符的正则表达式: [/u4e00-/u9fa5]评 ... -
使用eclipse调用天气预报的测试代码WSDL
2012-06-01 13:40 37691. 下载axis_src_1.4.zip文件 下载 ... -
java的volatile关键字小记
2012-05-31 16:47 1243用在多线程,同 ... -
JAVA与数据结构 集合链表
2012-04-26 19:16 1018http://hi.baidu.com/huifu111/bl ... -
JNLP、webStart 和applet的区别
2012-02-29 22:36 12761. JNLP是一个java网络发布协议,是一个规范,规范中可 ... -
OSGI如何读取插件中的资源文件
2011-11-16 11:17 1488思路就是通过bundleContext来取得资源。 首先,要在 ... -
java基础 ThreadLocal
2011-11-15 20:31 912今天学习了ThreadLocal,和大家分享下,理解的不是很透 ... -
osgi 实战的读书笔记整理
2011-11-07 22:24 976对osgi实战读书整理了一点笔记,欢迎下载 -
equinox 加载类顺序研究
2011-10-27 15:31 898讲解详细: http://www.cnblogs.com/ ... -
javax.mail.NoSuchProviderException: smtp (weblogic10+osgi)解决办法及原因
2011-08-29 09:54 5151org.springframework.mail.Ma ... -
在myeclipse中点击 deploy 按钮,无法部署!
2011-03-30 14:15 3188如何在myeclipse布置非myeclipse创建的工 ... -
POI+jfreechart资料2
2010-12-22 16:19 1081JFreeChart类: void setAntiA ... -
字符编码笔记:ASCII,Unicode和UTF-8
2010-11-04 14:49 758字符编码笔记:ASCII,Un ... -
socket学习笔记(1)
2010-11-01 15:28 991client端的代码 package test2; ... -
锁定文件的一部分,独占打开文件,是测试拷贝处用的
2010-10-28 09:40 1292import java.io.File; import ja ... -
JCOM生成Excel2
2010-05-28 13:09 1840import java.io.File; imp ... -
用JCom生成Excel文档
2010-05-28 11:20 1666代码:import java.io.File; import ... -
用Jcom生成word,以及在word中添加表格
2010-05-28 11:17 1387JCom可以支持打印,支持生成word,生成Excel,并且可 ... -
用jcom和jxl实现word转换成PDF
2010-05-28 10:05 3133java应用jcom将word转pdf 在JAV ...
相关推荐
这个名为"word+excel+jfreechart例子"的压缩包提供了三个示例,分别展示了如何使用Java来实现这些功能。下面我们将详细探讨每个方面的知识点。 首先,我们来看Java操作Word的部分。在Java中,可以使用Apache POI库...
在Java编程环境中,有时我们需要处理Excel文件或者生成各种图表,这时`Apache POI`和`JFreeChart`库就显得非常实用。这两个JAR包分别提供了处理Microsoft Office文档和创建图表的强大功能。 **Apache POI** 是一个...
这个压缩包文件“struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合.zip”显然是一个整合了这些技术的示例项目,用于演示如何在实际开发中实现数据处理、视图展示以及文件导出功能。 首先,Struts2 ...
在这个"struts2+hibernate+spring+jfreechart+导出excel+导出pdf完美整合"项目中,开发者可能实现了以下功能: 1. **数据交互**:通过Struts2接收用户请求,将请求转发给Spring管理的业务层,由Hibernate处理数据库...
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
**二、POI与JFreeChart的结合** **Apache POI** 是一个开源库,主要用于读写Microsoft Office格式的文件,如Excel。当与JFreeChart 结合时,可以方便地将生成的图表嵌入到Excel工作表中,实现数据与图表的同步更新...
Apache POI库是一个开源的Java库,可以帮助开发人员处理Microsoft Office格式的文档,例如Word文档、Excel电子表格和PowerPoint演示文稿等。以下是Apache POI库的详细介绍: 支持多种Office格式:Apache POI库支持...
**JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出...
【Java使用POI读取Excel数据进行统计及JFreeChart绘制图表】 在Java开发中,有时我们需要处理Excel数据,例如进行统计分析并可视化结果。Apache POI是一个强大的库,允许我们与Microsoft Office格式(如Excel)进行...
在这个文档中,我们看到如何使用POI从Excel文件中提取数据并进行统计分析,然后利用JFreeChart库创建图表展示这些统计数据。 首先,开发者使用`JFileChooser`类来创建一个文件选择对话框,让用户选择要读取的Excel...
【Java使用POI读取Excel数据进行统计并利用JFreeChart绘图】 在Java开发中,经常需要处理Excel数据,例如进行数据导入、分析和可视化。Apache POI库提供了读写Microsoft Office文档的能力,包括Excel。JFreeChart则...
通过三种不同的方式(freemarker+jfreechart、xDoc、POI),根据模板创建Word文件。可以动态修改Word中表格(table)、图表(chart)等数据。导入工程后,可直接运行xxxDemo文件,查看文档生成效果。详见压缩包中的...
- 支持Java SE和Java EE环境,同时可以与其他Java库(如Apache POI)集成,生成Excel图表。 总的来说,JFreeChart 1.0.19版是一个强大且灵活的Java图表库,通过它的源码和文档,开发者可以深入学习图表绘制技术,...
通过结合Apache POI库,可以实现更复杂的数据交互。 总结来说,JfreeChart是一个强大的Java图表库,它的灵活性和易用性使得它在数据可视化领域有着广泛的应用。通过深入理解并实践这个示例,你将能够熟练掌握...
在Action类中,我们可以使用POI解析Excel文件,获取所需的数据,然后传递给JFreeChart生成图表。 5. **生成图形报表** 生成图表后,JFreeChart提供了一个`ChartUtilities`类,可以将图表保存为各种图像格式,如...
结合最新的POI项目,也可以将生成的统计图表输出到Excel文档中。 JFreeChart可用于生成各式各样的统计图表,只要开发人员提供符合JFreeChart所需格式的数据,JFreeChart即可自动生成相应的统计图表。JFreeChart可...
导出到Excel通常需要使用Apache POI库。创建一个`HSSFWorkbook`对象代表Excel工作簿,然后创建`HSSFPatriarch`对象作为绘图父类。将图表绘制到`HSSFClientAnchor`,并添加到工作表。完成后,使用`Workbook.write()`...