- 浏览: 310707 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
popotang:
关注raphael,从中学习一下
基于jquery, raphael的WEB流程设计器 -
Getwaysun:
拜读了,写得非常好
iframe跨域session丢失问题 -
chen4w:
good!
Geoserver & Openlayers 学习笔记 -
holysky:
Caused by: org.springframework. ...
Spring对属性文件加密解密应用 -
holysky:
希望能解决一下!
Spring对属性文件加密解密应用
一、引言:
实习单位安排让调研报表工具选择一款,让学习和比较ChartDirector与Jasperreports,掌握技术路径,即掌握安装配置方式,接口,调用方法,例子等。
于是,下载了ChartDirector,挺简单的,照着提供的jsp的例子,改一下数据、横坐标内容就马上能运行了,提供的函数命名也很规范,一看大概就知道用途,挺好理解的,生成的图表也很漂亮。
于是,下载Jasperreports,这个东东要跑起来还真有点麻烦,首先得了解一下ANT,ant不难,但是为了运行一下示例还是被它拉路了一小会,然后是jdk版本兼容问题,然后是数据源的连接问题,折腾了一个星期,总会把它的示例都跑起来了,同时也写了三份学习笔记。接着了解了一下它的可视化设计工具ireports。总的感觉这个东西不如ChartDirector方便好用。
接着,跟莫sir讨论一下,发现自己犯了一个很严重的概念性错误。那就是,图表和报表是不同的!图表是指图片,即柱状图,折线图,饼图等,选择图表工具主要关注的是图表是否漂亮;而报表是指表格形式的表,如财务报表等,选择报表工具主要关注的是能否解决中国报表表头复杂,交叉报表等问题。ChartDirector是图形报表工具;而Jasperreports是报表工具,生成图表底层用的是JreeChart。所以,应该比较的是ChartDirector与JreeChart,而不是ChartDirector与Jasperreports的比较。
下面主要介绍和比较ChartDirector与JreeChart这两款web图形报表工具。
二、 ChartDirector与JreeChart的介绍与比较
2.1 官方网址
ChartDirector: http://www.advsofteng.com/
JreeChart: http://www.jfree.org/jfreechart/index.html
2.2 基本介绍
两款都是流行的web图表工具;
ChartDirector:
ChartDirector is a fast and powerful charting component for creating professional and clickable charts. It's innovative ChartDirector Mark Up Language, flexible object oriented API, layering architecture and advanced coloring system provide unprecedent chart design, formatting and customization capabilities to developers. Supports numerous chart types - Pie, donut, bar, line, spline, step line, trend line, curve-fitting, inter-line coloring, area, scatter, bubble, floating box, box-whisker, waterfall, finance (numerous indicators support), gantt, vector, radar, polar, rose, angular and linear meters and guages. ChartDirector is 100% pure Java code and is suitable for both client and server side usage. Specially designed graphics subsystem allows ChartDirector to run on headless servers without requiring headless support. Includes SWING controls to support client side applications. Easy to use and with comprehensive documentation. Come with numerous examples.
JreeChart:
JFreeChart是一个开源的 JAVA 项目,它主要用来开发各种各样的图表,这些图表包括:饼图、柱状图 ( 普通柱状图以及堆栈柱状图 ) 、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。在这些不同式样的图表上可以满足目前商业系统的要求。 JFreeChart 是一种基于 JAVA 语言的图表开发技术。 JFreeChart 可用于 Servlet 、 JSP 、 Applet 、 Java Appication 环境中,通过 JDBC 可动态显示任何数据库数据,结合 Itext 可以输出至 PDF 文件。
2.3 收费情况
ChartDirector: 商业;价格根据使用权限不同在59美元到749美元之间;也可以免费使用,只是在画出来的图形下面都有一条它的广告条。网上有破解方法,破解后图形下面不再出现它的广告条。
JreeChart: 开源;但是文档要花钱买,40美元;
2.4 支持语言
ChartDirector: 支持很多种语言,例如.NET, Java, ASP, COM,VB, PHP, Perl, Python,Ruby, ColdFusion, C++等;
JreeChart: Java;
2.5 图表比较
ChartDirector: 图表特别精细,漂亮;
样例库:http://www.advsofteng.com/gallery.html
JreeChart: 画出来的图形不够精细,看起来有些模糊;图表的文字边缘、颜色和颜色的分界也比较模糊。
样例库:http://www.jfree.org/jfreechart/samples.html
2.6 对中文问题支持的比较
ChartDirector: 中文的问题,比较容易解决。
JreeChart: 虽然有字体的解决办法,但仍然存在问题。他使用的默认字体显示出来的中文会很模糊,你可能需要修改源代码。
2.7 开发使用易用性比较
从自己分别使用它们用jsp显示柱状图的例子来看,两者的开发的易用性差不多,都是设置一下数据、横坐标等就可以了。
三、 分别用ChartDirector和JFreeChart画柱状图的JSP程序示例
3.1 用ChartDirector在JSP中画统计图
下面是一个柱状图的例子:
范例程序:
<%@page import="ChartDirector.*" %>
<%
//The data for the bar chart
double[] data = {85, 156, 179.5, 211, 123};
//The labels for the bar chart
String[] labels = {"Mon", "Tue", "Wed", "Thu", "Fri"};
//Create a XYChart object of size 300 x 280 pixels
XYChart c = new XYChart(300, 280);
//Set the plotarea at (45, 30) and of size 200 x 200 pixels
c.setPlotArea(45, 30, 200, 200);
//Add a title to the chart
c.addTitle("Weekly Server Load");
//Add a title to the y axis
c.yAxis().setTitle("MBytes");
//Add a title to the x axis
c.xAxis().setTitle("Work Week 25");
//Add a bar chart layer with green (0x00ff00) bars using the given data
c.addBarLayer(data, 0xff00).set3D();
//Set the labels on the x axis.
c.xAxis().setLabels(labels);
//output the chart
String chart1URL = c.makeSession(request, "chart1");
//include tool tip for the chart
String imageMap1 = c.getHTMLImageMap("", "", "title='{xLabel}: {value} MBytes'")
;
%>
<html>
<body topmargin="5" leftmargin="5" rightmargin="0">
<div style="font-size:18pt; font-family:verdana; font-weight:bold">
3D Bar Chart
</div>
<hr color="#000080">
<a href="viewsource.jsp?file=<%=request.getServletPath()%>">
<font size="2" face="Verdana">View Chart Source Code</font>
</a>
</div>
<br>
<img src='<%=response.encodeURL("getchart.jsp?"+chart1URL)%>'
usemap="#map1" border="0">
<map name="map1"><%=imageMap1%></map>
</body>
</html>
3.2 用JFreeChart画柱状图的范例
这个范例说明如何用JFreeChart画简单的柱状图,下面是一个JSP的简单范例:
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.awt.*, java.text.*, java.util.*" %>
<%@ page import="org.jfree.chart.*" %>
<%@ page import="org.jfree.chart.axis.*" %>
<%@ page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator" %>
<%@ page import="org.jfree.chart.plot.*" %>
<%@ page import="org.jfree.chart.renderer.*" %>
<%@ page import="org.jfree.chart.servlet.ServletUtilities" %>
<%@ page import="org.jfree.data.DefaultCategoryDataset" %>
<%@ page import="org.jfree.ui.TextAnchor" %>
<%
//The data for the bar chart
double[] data = {85, 156, 179.5, 211, 123};
//The labels for the bar chart
String[] labels = {"Mon", "Tue", "Wed", "Thu", "Fri"};
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
for (int i = 0; i < data.length; i++) {
dataset.addValue(data[i], null, labels[i]);
}
JFreeChart chart = ChartFactory.createBarChart3D("Weekly Server Load", "Work Week 25", "MBytes", dataset, PlotOrientation.VERTICAL, false, false, false);
chart.setBackgroundPaint(new Color(0xE1E1E1));
CategoryPlot plot = chart.getCategoryPlot();
// 设置Y轴显示整数
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
CategoryAxis domainAxis = plot.getDomainAxis();
//设置距离图片左端距离
domainAxis.setLowerMargin(0.05);
BarRenderer3D renderer = new BarRenderer3D();
//设置柱的颜色
renderer.setSeriesPaint(0, new Color(0xff00));
plot.setRenderer(renderer);
String filename = ServletUtilities.saveChartAsPNG(chart, 300, 280, null, session);
String graphURL = request.getContextPath() + "/displayChart?filename=" + filename;
%>
<html>
<body topmargin="5" leftmargin="5" rightmargin="0">
<div style="font-size:18pt; font-family:verdana; font-weight:bold">
3D Bar Chart
</div>
<br>
<img src="<%= graphURL %>" border=0>
</body>
</html>
画出来的图:
和ChartDirector画出来的图做一个比较:
四、 web图表工具选择
了解了关键的两款web图表工具ChartDirector与JreeChart之后,我们应该选择哪一个报表工具呢?下面是本人提供的参考方案:
ChartDirector:图片精细漂亮,如果舍得花钱购买,建议使用这款;
JreeChart:图片不够清晰有些模糊,如果只考虑免费工具,建议使用这款;
五、 参考资料
1. http://www.advsofteng.com/
2. http://www.jfree.org/jfreechart/index.html
3. ChartDirector (Java Edition)
http://nuclearscripts.com/java/jsp-and-servlets/graphs-and-charts/chartdirector-java-edition.html
4. JFreeChat的介绍http://www.blogjava.net/chunkyo/archive/2007/01/13/jfreechat.html
5. 用JFreeChart画柱状图的范例
用ChartDirector在JSP中画统计图
http://www.blogjava.net/georgehill/default.html?page=3
6. 一个很棒的WEB图表项目??ChartDirector
http://www.dlog.cn/html/diary/showlog.vm?sid=2&cat_id=-1&log_id=413
7. ChartDirector与JFreeChart
http://blog.csdn.net/keelsike/archive/2006/05/30/762869.aspx
- ChartDirector.rar (1.8 MB)
- 下载次数: 4
发表评论
-
coherence
2013-09-17 13:39 913coherence Coherence是O ... -
C#调用Java类的方法
2011-06-17 17:58 1559一、将已经编译后的java中Class文件进行打包;打包命令J ... -
Extjs项目案例截图及下载汇总
2010-10-20 16:34 6624之前为了激励自己学习ExtJs,在网上很是收罗了一翻 ... -
FusionCharts参数的详细说明和功能特性
2010-10-17 23:39 1063功能特性 animation ... -
amcharts报表破解
2010-10-16 17:31 1545破解方法: 今天介绍破解amcharts的方法一,从sw ... -
Windows下FTP服务器架设攻略
2010-08-09 11:51 1120如今家庭应该是普遍使用包月的宽带接入Internet了,我们在 ... -
已破解的FusionCharts图表SWF文件地址清单
2010-06-25 16:03 2949http://ontargetgolflearningsyst ... -
windows下部署svn服务
2010-03-25 16:46 1035一、【安装Subversion Server,安装配置步骤如下 ... -
这样的程序员创业有戏
2010-02-02 17:56 970致刚入门的程序员五点建议 用管用户需求和用户体验 ... -
MyEclipse8 GA 下载地址 注册码 优化指南
2010-01-14 10:31 1258官方网站限制大陆IP,可以通过http://a ... -
自定义Apache日志格式
2010-01-08 11:31 2202对于站长而言,最关心的当属网站的访问情况了,可能大家平常用得多 ... -
WAP 2.0介绍和使用规范
2010-01-02 08:19 1537WAP 2.0 —— XHTML MP and WC ... -
FCKEditor 2.3.2 的type漏洞修复
2009-12-05 09:34 3172从网上下了最新的FCKedit ... -
男人必读 --看了永不后悔,女人想看也可以进去……
2009-12-01 23:29 10411、事业永远第一 虽然金钱不是万能的, ... -
胆识也是一种能力[转 一个女程序员的创业人生]
2009-12-01 23:02 963我在28岁生日那天电信 ... -
JAVA解析纯真IP地址库
2009-11-28 21:56 1454前几天看了下Ruby的IPParse,觉得很过瘾,上网查了下貌 ... -
数据库驱动应用程序中影响性能的反模式
2009-11-13 16:41 892几乎所有现代应用程序 ... -
Web开发必知的八种隔离级别
2009-11-13 16:39 729ACID性质是数据库理论中的奠基石,它定义了一个理论上可靠数据 ... -
利用网页压缩来提升网站浏览速度
2009-11-10 09:36 829网站的访问速度是由多 ... -
JQuery Tab 滑动们导航菜单效果
2009-10-30 22:05 2567这种效果目前互联网上用的很多希望可以给大家提供帮助 ...
相关推荐
ChartDirector是一款强大的图形绘制工具,它为Java和JavaScript开发者提供了丰富的图表制作功能。这款工具以其卓越的性能、直观的API和精美的图表效果而受到广大开发者的青睐。下面将详细介绍ChartDirector在Java和...
ChartDirector是一款强大的图表生成库,尤其适用于JAVA开发者。它提供了丰富的图表类型,包括柱状图、线形图、饼图、散点图、热力图等,能够满足各种数据分析和可视化的需求。ChartDirector不仅支持静态图表的生成,...
它的主要功能是帮助开发者快速创建高质量、专业的图表,适用于数据分析、报告制作、Web应用等多种场景。ChartDirector 6.0作为其最新版本,带来了诸多增强和改进,包括对32位和64位操作系统的全面支持,以满足不同...
ChartDirector是一款强大的图表生成库,广泛应用于各类软件和Web应用中,用于创建高质量的数据可视化效果。这个开发文档和示例集合提供了丰富的资源,帮助开发者快速掌握ChartDirector的使用方法。 一、...
ChartDirector 5是一款强大的图表库,专为程序员设计,用于在各种应用程序中创建高质量的2D和3D图表。这个中文文档集包含了详尽的指南和教程,帮助开发者充分利用ChartDirector的功能。以下是对ChartDirector 5中文...
ChartDirector是一款强大的报表和图表制作工具,尤其适合于在IT行业中进行数据可视化。这款软件以其易用性和丰富功能,深受用户喜爱。以下是对ChartDirector及其使用的一些关键知识点的详细解释。 1. **基本概念** ...
ChartDirector图表样式示例,主要介绍了ChartDirector图表的制作。
ChartDirector是一款强大且全面的商业图表制作工具,专为Java开发者设计。它提供了丰富的图表组件库,使得开发人员能够轻松地在Java应用程序中创建高质量、交互式的图表。ChartDirector的V7.0版本是其发展历程中的一...
ChartDirector是一款强大的图表生成库,特别为C++开发者设计,以提供64位系统的支持。这个库使得在C++应用程序中创建高质量、交互式的图表变得简单。以下是对ChartDirector for C++ 64位的详细解释和相关知识点: 1...
总结来说,ChartDirector是一款功能强大的图表制作工具,它的C++版本特别适合需要在Windows平台上进行图形化开发的程序员。通过其丰富的图表类型、强大的自定义功能和交互性,开发者可以快速构建出高质量的可视化...
ChartDirector是一款强大的图表制作工具,它提供了丰富的图表类型和自定义选项,使得开发者能够轻松地在应用程序中集成高质量的图表。手册包含两大部分:语法解释和实例演示,以CHM(Microsoft Compiled HTML Help)...
ChartDirector 图表 ActiveX版,32位,有正版序列号,5.1.1 是最后的一个可用的5.X正版,运行非常稳定,没有BUG.可以在VB和ASP网页中使用.英文版,官方没有中文版. 非常漂亮的图表控件比TeeChart强很多.
ChartDirector是一款强大的图表生成库,广泛应用于各类软件和网页中,用于创建高质量的数据可视化效果。在"ChartDirector实例"这个主题中,我们可以深入探讨ChartDirector的多种图表类型、使用方法以及如何通过它来...
ChartDirector是一款强大的图表库,适用于开发人员在各种应用程序中创建高质量、交互式的统计图形。它支持多种编程语言,包括.NET、ActiveX、PHP、Java等,使得开发者可以在不同的平台上利用其功能。本压缩包...
ChartDirector是一款强大的图表库,广泛应用于开发人员在创建数据可视化应用程序时。它的版本5.1提供了对多种编程语言的支持,包括C++,使得开发者能够利用这个库在32位环境中构建具有高质量图表的应用程序。...
ChartDirector是一款强大的图表组件,它为开发者提供了丰富的图表类型和高度定制的能力,帮助他们在应用程序中创建各种高质量的图表。 ChartDirector的主要特点包括: 1. **多平台支持**:ChartDirector支持多种...
ChartDirector是一款强大的图表生成库,广泛应用于各类软件项目中,为用户提供高质量的2D和3D图表。这个压缩包包含了ChartDirector的官方资源,包括文档、jar包以及演示示例,便于开发者理解和使用该库。 1. **...
总的来说,ChartDirector 5.1 for .NET 是一款强大的图表组件,为.NET开发者提供了高效、灵活的图表解决方案,无论是在商业报表、数据分析还是科学可视化领域都有广泛的应用。通过深入学习和实践,开发者可以利用它...