JFreeChart基础(1) (转自 JSP开发技术大全)

JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application、Servlet和JSP下生成各种图片格式的图表,包括柱形图、饼形图、线图、区域图、时序图和多轴图等。本章将详细介绍利用JFreeChart生成各种图表的技术要点。

14.1 JFreeChart基础

本节将介绍JFreeChart插件的下载与使用方法,以及JFreeChart插件的核心类及其 功能。

14.1.1 JFreeChart的下载与使用

在JFreeChart的官方网站(http://www.jfree.org/jfreechart/index.html)上可以下载到该插件,该插件有两个版本。

l     freechart-1.0.5.zip,该版本适用于Windows系统。

l     jfreechart-1.0.5.tar.gz,该版本适用于UNIX/Linux系统。

本书所有示例的开发环境均为Windows系统,解压缩jfreechart-1.0.5.zip后将得到一个名为jfreechart-1.0.5的文件夹,只需将lib子文件夹内的如下文件复制到Web应用程序目录中的/WEB-INF/lib目录下。

l     jfreechart-1.0.5.jar。

l     jcommon-1.0.9.jar。

l     junit.jar。

l     gnujaxp.jar。

l     servlet.jar。

并且在web.xml文件中添加如下代码:

<servlet>

<servlet-name>DisplayChart</servlet-name>

<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>DisplayChart</servlet-name>

<url-pattern>/servlet/DisplayChart</url-pattern>

</servlet-mapping>

这样,就可以利用JFreeChart插件生成动态统计图表了。利用JFreeChart插件生成动态统计图表的基本步骤如下。

(1)创建绘图数据集合。

(2)创建JFreeChart实例。

(3)自定义图表绘制属性,该步可选。

(4)生成指定格式的图片,并返回图片名称。

(5)组织图片浏览路径。

(6)通过HTML中的<img>元素显示图片。

14.1.2 JFreeChart核心类简介

在使用JFreeChart插件之前,先介绍该插件的核心类及其功能,这对将来能够得心应手地使用该插件是非常重要的,JFreeChart核心类及其功能如表14.1所示。

表14.1                                                  JFreeChart核心类及其功能

类    名

功    能

JFreeChart

图表对象,生成任何类型的图表都要通过该对象,JFreeChart插件提供了一个工厂类ChartFactory,用来创建各种类型的图表对象

XXXDataset

数据集对象,用来保存绘制图表的数据,不同类型的图表对应着不同类型的数据集对象

XXXPlot

绘图区对象,如果需要自行定义绘图区的相关绘制属性,需要通过该对象进行设置

XXXAxis

坐标轴对象,用来定义坐标轴的绘制属性

XXXRenderer

图片渲染对象,用于渲染和显示图表

XXXURLGenerator

链接对象,用于生成Web图表中项目的鼠标单击链接

XXXToolTipGenerator

图表提示对象,用于生成图表提示信息,不同类型的图表对应着不同类型的图表提示对象

通过表14.1,可以简单了解JFreeChart插件中各个类的功能,下面将仔细讲解利用JFreeChart生成各种图表的技术要点。

 

JFreeChart基础(1) (转自 JSP开发技术大全)的更多相关文章

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

    利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...

  2. JFreeChart生成饼形图(3) (转自 JSP开发技术大全)

    JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...

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

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

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

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

  5. JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)

    FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...

  6. JFreeChart生成柱形图(2) (转自 JSP开发技术大全)

    JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...

  7. 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)

    利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表  实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...

  8. 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)

    利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...

  9. Java Web开发技术教程入门-初识动态网页

    这段时间学校搞了一个"阅战阅勇"的阅读活动,奖品还是挺丰富的~于是,奔着这些奖品,我去图书馆借了这本<Java Web开发技术教程>.一是为了那些丰富的奖品,二是为了回 ...

随机推荐

  1. CSU1008: Horcrux

    Description A Horcrux is an object in which a Dark wizard or witch has hidden a fragment of his or h ...

  2. [Python3网络爬虫开发实战] 3.1.1-发送请求

    使用urllib的request模块,我们可以方便地实现请求的发送并得到响应,本节就来看下它的具体用法. 1. urlopen() urllib.request模块提供了最基本的构造HTTP请求的方法 ...

  3. mysql查询排名

    student_work表 student_info表 sql语句:按grade从高到低排名 结果:

  4. rbac组件之角色操作(二)

    为了与stark组件分离,形成独立的模块,所以rbac数据表的操作需要单独进行操作,对角色表的操作. urls.py urlpatterns = [ re_path(r'^roles/list/$', ...

  5. linux配置固定ip

    vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static ONBOOT=yes 其他默认即可 重启network服务

  6. 使用HTML,CSS快速导出数据到Excel

    在应用中经常会遇到要从系统或数据库中导出数据平面文件,一般是导出到txt,csv或excel.txt和csv一般用在系统间的数据交换, 而excel一般有较好的显示效果,可以按照一定的模板导出,导出就 ...

  7. HttpModule用户的验证

    HttpModule是向实现类提供模块初始化和处置事件.当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于H ...

  8. 史上最全Java多线程面试题及答案

    多线程有什么用? 线程和进程的区别是什么? Java实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态? ...

  9. 慕课笔记利用css进行布局【两列布局】

    <html> <head> <title>两列布局</title> <style type="text/css"> bo ...

  10. python标准库笔记

    1.python互联网数据处理模块 base64数据编码 二进制数据 encode ASCII字符 ASCll字符 decode 二进制数据 json数据交换格式 轻量的数据交换格式,json暴露的A ...