Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103753961
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-23 17:33:09

作者: Dustin Marx/Michael G. Martin 出处:  
 
阅读提示:本文讲解如何使用JFreeChart轻松绘制Oracle数据库数据图表,并可以选择多种高质量的图表类型。在本文中,我们将使用Oracle数据库10g快捷版(XE)中的HR模式数据提供一个该过程的示例。

借助图表、数字和图形可更快速地了解和分析大型数据集。俗话说“百闻不如一见”,因为图片可以传达有关难以从文本数据本身获得的数据的重要概述和比较信息。 是一个基于 Java 的开源(免费)库,利用它可以轻松创建多种类型的以数据为中心的高质量图表。这个功能强大的库提供了一个非常方便的 API,使不熟悉JFreeChart的开发人员可以快速创建表示其数据的高质量图表。

在本文中,我们将使用 Oracle 数据库 10g 快捷版 (XE) 中的 HR 模式数据提供一个该过程的示例。

JFreeChart 简介

JFreeChart 项目的启动可追溯到 2000 年。这个库的最新版本 1.0.6 版于 2007 年 6 月发布,本文使用的就是该版本。

JFreeChart 支持生成多种不同类型的图表,包括从饼形图、条形图、面积图、直线图、柱状图以及 Gantt 图表等常见类型到 Candlestick、Wind 以及 Wafer Map 图表等较专业、不太常用的类型。确定 JFreeChart 支持的现成图表类型的最快的一种方法是检查 JFreeChart 的 ChartFactory 类的 Javadoc API 文档。

在一些开发环境中,可以使用 JFreeChart 有效地生成面向数据的图表,这些环境包括:

◆生成的文件为可移植网络图形 (PNG) 或 JPEG 格式
◆基于 Java SE Swing 的应用程序,包括小程序
◆Java EE servlet 和 JavaServer 页面 (JSP)
◆与 iText 集成创建 PDF
◆与 Batik 集成创建 SVG 格式

要绘制成图表的数据

本文的图表中要以图形方式表示的数据来自于 Oracle 数据库快捷版提供的 HR 模式。图 1 显示了 Oracle 数据库快捷版附带的 SQL*Plus 编辑器中显示的 HR 模式中的表。

图1SQL 命令行工具中显示的 HR 模式表

Oracle 数据库快捷版还提供了一个非常有用、易于使用的基于 Web 的管理工具,该工具是在 Oracle Application Express 上构建的。图 2 演示了该工具,并且再次显示了 HR 模式中的某些对象(在本示例中为表)。

图2:Oracle Application Express 中的 HR 模式表

Oracle 数据库快捷版为开发人员提供了很多优势,而且自身与 JFreeChart 兼容。Oracle 免费提供 Oracle 数据库快捷版用于开发和生产。除了免费的优点之外,一个占用空间较小、易于安装和管理以及非常有用的集成 Web 管理工具,也是该数据库产品的其他优势之一。其缺点主要影响大型企业用户,因为缺陷涉及存储空间、内存大小以及比传统 Oracle 数据库产品小的特性集。对于开发和构建原型,甚至对于小型生产数据库,Oracle 数据库快捷版都非常适合。对于预算有限的企业或项目来说尤为如此。

图 3 中的快照再次显示了这个基于 Web 的管理工具,该工具显示了 Oracle 数据库快捷版的某些最重要的限制。Oracle 数据库快捷版中一个实例的存储空间被限制为 5 GB(包括系统表空间),因此目前为止使用的 710 MB 在该工具的屏幕截图中被描述为大约是该限制的 14%。内存使用被限制为 1 GB,因此该实例的 314 MB RAM 使用情况也是据此描述的。以 SYSTEM 身份登录到该管理工具可以在管理屏幕上显示更具体的存储和内存信息。图 3 中的屏幕截图还显示了该工具提供的用于管理数据库的所有子菜单选项。

图3:Oracle 数据库快捷版工具和使用情况监视

介绍了 Oracle 数据库快捷版和作为本文图表生成的数据源的 HR 模式之后,我们现在回过头来继续介绍 JFreeChart 本身。

阅读(316) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~