(转)JFreeChart 中文手册

小编 2026-06-05 阅读:1426 评论:0
(转)JFreeChar...
(转)JFreeChart 中文手册

 

转自:http://guoyiqi.javaeye.com/blog/247661

一、简介

JFreeChartJFreeChart公司在开源网站SourceForge.net上的一个项目,是一种Java图形解决方案(Application/Applet/Servlet/Jsp)。

二、安装配置

当前最新版本是jfreechart-1.0.3 ,应下载的包:

jfreechart-1.0.3.zip(项目包)

jfreechart-1.0.3-javadocs.zip(API参考文档)

1、 首先解压jfreechart-1.0.3.zip,并关注三个文件:

jfreechart-1.0.3.jar、 jcommon-1.0.6.jar、gnujaxp.jar(这个包就不导进去了,可能导致警告)

2、 接着把前述三个文件分别考到:

%JAVA_HOME%/LIB及相应项目的/WEB-INF/LIB

3、 配置环境变量CLASSPATH

4、 /WEB-INF/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>

三、功能介绍

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:时序图

图形可以导出成PNGJPEG格式

四、现已封装的模式有

二维矩状图 三维矩状图 二维饼状图 三维饼状图 线状序列图 时间序列图

五、实现图表生成步骤

1、             Dataset对象的创建生成

2、             JFreeChart对象的创建生成

3、             URLGenerator的控制生成

六、原理

将生成的JFreeChart对象,以流的形式生成用PNG格式或JPEG格式系统临时文件,然后就可以被访问请求。

七、在实现图表生成中可能用到的接口与类

org.jfree.chart.JFreeChart:图表对象类

org.jfree.data.category.XXXDataSet:数据集对象类

org.jfree.chart.plot.XXXPlot图表区域对象类

org.jfree.chart.axis.XXXAxis:轴对象类

org.jfree.chart.render.XXXRender:修饰刷对象类

可参考(API参考文档)

八、实例

1、              获取数据集的方式:

1)              以JDBC方式,通过访问封装类CreateDataSetFromJdbc.java

readPieData(String sql)方法获得饼图数据集

readCategoryData(String sql) 获得矩图数据集

readXYData(String sql) 获得序列表数据集

主要写好相应的sql语句

2)              通过自已的方式获得数据,然后数据集的

setValue(Comparable key, Number value)

setValue(Number value, Comparable rowKey, Comparable columnKey)

2              继承基类BaseChartURLGenerator里的方法及实现接口ControlURLGenerator。(仿照已有的模式)针对web应用

其中会用到封装的方法类ChartPlotRenderCreateChartLabelGenerator

九、建议

为每一个应用jfreechart图表的模块写一SubChartURLGenerator类(继承自BaseChartURLGenerator

十、详细情况可以仿照工作量图表处理

十一、       详细设计流程

(1)      获取数据集dataset

判断数据获取是用sql语句组装方便些,还是自己通过其它方式获取,再放到dataset方便些。

如果是前者,可能只需要写好sql,再调用封装好的CreateDataSetFromJdbc就可以获得数据集,这个当然是针对应用数据简单的。

如果是后者,就需要你自己仿照我在质安站工作量查询中的图表处理例子获得相应的dataset,先通过原来自己的方式获得数据,然后写好一个类方法,把传过的数据一个一个的set到数据集中。

(2)      获得图表对象jfreechart

写好一个方法,针对不同的类型的图表,使用封装好的CreateChart类及上步所获得的数据集dataset,生成相应图表。并为图表配入title,citatory,value参数。

(3)      图表对象表现形式

对于web页中引用,则可以考虑新建一个继承自封装的BaseChartURLGenerator类的子类(可以考虑有前两步的方法放到此类中),针对其具体控制,实现接口ControlURLGenerator写好一个控制方法,并引用上步的jfreechart对象,调用已有的方法setChartURL(request, chart);

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表