JFreeChart的核心对象。
1. 制图对象
JFreeChart的类是制图对象。常用方法:
方法 说明
Void setAntiAlias(Boolean flag) 设置字体边界模糊
Void setBackgroundImage(Image img) 设置背景图片
Void setBackgroundImageAlignment(int alignment) 设置背景图片的对齐方式,其参数常量定义在org.jfree.ui.Align类中
Void setBackgroundImageAlpha(float alpa) 设置背景图片的透明度
Void setBackgroundPaint(Paint paint) 设置背景颜色
Void setBorderPaint(Paint paint) 设置边界线条颜色
Void setBorderVisible(Boolean visible) 设置边界线条是否可见 2. 制图工厂对象
ChartFactory工厂类创建JFreeChart对象。常用方法:
图表类型 方法 说明
柱形图 Static JFreeChart createBarChart() 创建一个常规的柱形图对象
Static JFreeChart createBarChart3D() 创建一个常规的3D柱形图对象
饼状图 Static JFreeChart createPieChart() 创建一个常规的饼形图
Static JFreeChart createPieChart3D() 创建一个常规的3D饼形图
区域图 Static JFreeChart createAreaChart() 创建一个常规区域图
折线图 Static JFreeChart createLineChart() 创建一个常规的折线图
Static JFreeChart createLineChart3D() 创建一个常规的3D折线图
时序图 Static JFreeChart createTimeSeriesChart() 创建一个常规的时序图 创建对象实例:
JFreeChart chart=ChartFactory.createPieChart3D(“饼形图”,initPieData(),true,true,false);
5个参数介绍:第一个参数为图表的标题;第二个参数为饼形图的数据对象;第三个参数是否显示图例;第四个参数为是否提示文本;第五个参数是否生成超链接。 3. 数据集合对象
Dataset接口是数据集合的核心对象。JFreeChart类的数据对象都是实现了此接口。
常用数据集合对象:
数据集合对象 说明
DefaultCategoryDataset 默认的类别数据集合对象,可用于创建柱形图、区域图数据集合
DefaultPieDataset 默认的饼状图数据集合对象,可用于创建饼状图数据集合
XYSeriesCollection 描述坐标轴序列类型的数据集合,可用于创建折线图等数据集合
TimeSeriesCollection 描述时间序列的数据集合,可用于创建时序图的数据集合 实例:
//实例化对象
DefaultCategoryDataset dd=new DefaultCategoryDataset();
//添加数据
dd.addValue(100,”长春”,”土豆”); 4. 绘图区对象
绘图区对象为Plot类,有3个常用的子类。PiePlot类、CategoryPlot类、XYPlot类。
Plot类常用方法:
方法 说明
Void setBackgroundImage(Image img) 设置数据区的背景图片
Void setBackgroundImageAlignment(int align) 设置数据区的背景图片对齐方式,参数在org.jfree.ui.Align类中
Void setBackgroundAlpha(float alpha) 设置数据区的背景透明度,范围为0.0~1.0
Void setForegroundAlpha(float alpha) 设置数据区的前景透明度,范围为0.0~1.0
Void setDataAreaRatio(double ratio) 设置数据区占整个图表区的百分比
Void setOutLinePaint(Paint paint) 设置数据区的边界线条颜色
Void setNoDataMessage(String meg) 设置没有数据时显示的消息 PiePlot类常用方法:
方法 说明
Void setDataset(PieDataset data) 设置绘图制表所需要的数据集合
Void setCircular(Boolean flag) 设置饼状图是否一定是正圆
Void setStartAngle(double angle) 设置饼状图的初始角度
Void setDirection(Rotation direction) 设置饼状图的旋转方向
Void setExplodePercent(int section,double percent) 设置抽取图标的部分及距离
Void setLabelFont(Font font) 设置分类标签字体(3D效果下无效)
Void setLabelPaint(Paint paint) 设置分类标签字体颜色(3D效果下无效) CategoryPlot类常用的方法:
方法 说明
Void setDataset(CategoryDataset data) 设置绘图制表所需要的数据集合
Void setColumnRenderingOrder(SortOrder order) 设置数据分类排序方式
Void setAxisOffset(Spacer offset) 设置坐标到数据区的间距
Void setOrientation(PlotOrientation or) 设置数据区的方向(横向或纵向)
Void setDomainAxis(CategoryAxis axis) 设置数据区的分类轴
Void setRangeAxis(ValueAxis axis) 设置数据区的数据轴
Void addAnnotation(CategoryAnnotation ann) 设置数据区的注释 XYPlot类常用方法:
方法 说明
ValueAxis getDomainAxis() 返回x轴
ValueAxis getRangeAxis() 返回Y轴
Void setDomainAxis(valueAxis axis) 设置X轴
Void setRanageAxis(valueAxis axis) 设置Y轴 5. 坐标轴对象
Axis对象是父类,子类有:CategoryAxis类、ValueAxis类、NumberAxis类、DateAxis类。
Axis常用方法:
方法 说明
Void setVisible(Boolean flag) 设置坐标轴是否可见
Void setAxisLinePaint(Paint p) 设置坐标轴的颜色,3D效果下无效
Void setAxisLineVisible(Boolean b) 设置坐标轴的线条是否可见
Void setLabel(String label) 设置坐标轴的标题
Void setLabelFont(Font font) 设置坐标轴的字体
Void setLabelPaint(Paint p) 设置坐标轴标题颜色
Void setLabelAngle(double ang) 设置坐标轴标题选择角度 CategoryAxis类的常用方法
方法 说明
Void setCategoryMargin(double mg) 设置分类轴边距
Void setLowerMargin(double mg) 设置分类轴下边距或左边距
Void setUpperMargin(double mg) 设置分类轴上边距或右边距
Void setVerticalCategoryLabels(Boolean b) 设置分类轴标题是否旋转到垂直
Void setMaxCategoryLabelWidthRatio(float r) 设置分类轴分类标题的最大宽度 ValueAxis类常用方法:
方法 说明
Void setAutoRange(Boolean b) 设置数据轴数据范围是否为自动
Void setFixedAutoRange(double length) 设置数据轴固定数据范围
Void setInverted(Boolean flag) 设置数据轴是否反向
Void setLowerMargin(double mg) 设置数据轴下边距或左边距
Void setUpperMargin(double mg) 设置数据轴上边距或右边距
Void setLowerBound(double min) 设置数据轴上的显示最小值
Void setUpperBound(double max) 设置数据轴上的显示最大值 NumberAxis类常用方法:
方法 说明
Void setAutoRangeIncludesZero(Boolean b) 设置是否强制在自动选择的数据范围中包含0
Void setAutoRangeStickyZero(Boolean b) 设置是否强制在整个数据轴中包含0,即使0不在数据范围中
Void setNumberFormatOverride(NumberFormat ft) 设置数据轴数据标签的显示格式 DateAxis类常用方法:
方法 说明
Void setMaximumDate(Date max) 设置日期轴上的最大日期
Void setMinimumDate(Date min) 设置日期轴上的最小日期
Void setDateFormatOverride(DateFormat fmt) 设置日期轴上日期标签的显示格式
Void setTickUnit(DateTickUnit un) 设置日期轴的日期标签 6. 渲染图片对象
AbstractRender类图片渲染对象,常用方法为:
方法 说明
Void setItemLabelAnchorOffset(double os) 设置数据标签与数据点的偏移
Void setItemLabelsVisible(Boolean b) 设置数据标签是否可见
Void setItemLabelFont(Font f) 设置数据标签的字体
Void setItemLabelPaint(Paint p) 设置数据标签的字体颜色
Void setOutLinePaint(Paint p) 设置图形边框的线条颜色
Void setPaint(paint p) 设置所有分类图形的颜色
Void setSeriesItemLabelsVisible(int I,Boolean b) 设置分类的数据标签是否可见
Void setSeriesItemLabelFont(int I,Font f) 设置分类的数据标签的字体
Void setSeriesItemLabelPaint(int I,Paint p) 设置分类的数据标签的字体颜色 实例
public class ChartUtil {
/**
* 创建数据集合
* @return CategoryDataset对象
*/
public static CategoryDataset createDataSet(){
//创建数据DefaultCategoryDataset对象用于创建柱形图
DefaultCategoryDataset dset=new DefaultCategoryDataset();
//添加数据
dset.addValue(100, "java图书", "SE类");
dset.addValue(600, "java图书", "EE类");
dset.addValue(780, "java图书", "ME类"); return dset;
} /**
* 创建JFreeChart对象
* @return JFreeChart对象
*/
public static JFreeChart createChart(){
//设置图表主题样式类
StandardChartTheme stme=new StandardChartTheme("CN");
//设置标题字体
//stme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));
//设置图例的字体
//stme.setRegularFont(new Font("微软雅黑",Font.PLAIN,10));
//设置轴向的字体
//stme.setLargeFont(new Font("微软雅黑",Font.PLAIN,10)); //创建JFreeChart对象
JFreeChart chart=ChartFactory.createBarChart("Java 图", "Java EE", "XL", createDataSet()); return chart;
}
} Jsp页面代码
使用img标签配置Src是要将路径设置好,就是JfreeChart生成图片的路径
<%@ page
import="java.util.*,org.jfree.chart.servlet.*,com.wgh.ChartUtil" %>
……
<% //使用ServletUtilities类的saveChartAsJPEG方法将图表转化为图片显示
String fileName=ServletUtilities.saveChartAsJPEG(ChartUtil.createChart(), 400, 300,session); %>
<%=fileName %> <img src="temp/<%=fileName%>">

JFreeChart插件的更多相关文章

  1. JFreeChart插件使用

    以java project为例,首先需要导入需要的jar包:jcommon-1.0.23.jar, jfreechart-1.0.19.jar. 画饼状图示例: package com.it.jfch ...

  2. 【Java EE 学习 74 下】【数据采集系统第六天】【使用Jfreechart的统计图实现】【将JFreechart整合到项目中】

    之前说了JFreechart的基本使用方法,包括生成饼图.柱状统计图和折线统计图的方法.现在需要将其整合到数据采集系统中根据调查结果生成三种不同的统计图. 一.统计模型的分析和设计 实现统计图显示的流 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

    JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...

随机推荐

  1. MySQL 用户与权限管理

    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,而且赋予该用户在数据库上的相关DML,DQL权限.MySQL存取控制包括2个阶段,一是server检查是否同意你连接:二是假定你能连接,se ...

  2. Codeforces 14D Two Paths 树的直径

    题目链接:点击打开链接 题意:给定一棵树 找2条点不反复的路径,使得两路径的长度乘积最大 思路: 1.为了保证点不反复,在图中删去一条边,枚举这条删边 2.这样得到了2个树,在各自的树中找最长链.即树 ...

  3. 《机器学习实战》——k-近邻算法Python实现问题记录(转载)

    py2.7 : <机器学习实战> k-近邻算法 11.19 更新完毕 原文链接 <机器学习实战>第二章k-近邻算法,自己实现时遇到的问题,以及解决方法.做个记录. 1.写一个k ...

  4. 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing

    1.上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing 解决办法:因为php版本 ...

  5. (1) yum源配置-epel

    1.获取epel地址 登录https://fedoraproject.org/wiki/EPEL/zh-cn,看“如何获取EPEL的软件包”,根据你的操作系统版本,复制对应的下载地址. 2.下载epe ...

  6. pip安装错误,用镜像

    Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'Connec ...

  7. Mac OS X 安装Ruby

    安装CocoaPods第一步 起因:重装系统后需要重新安装CocoaPods网上搜了下发现很多都过时了,已经不能用了.而且taobao Gems源已经停止服务,现在有ruby-china提供服务 PS ...

  8. 使用Istio治理微服务入门

    近两年微服务架构流行,主流互联网厂商内部都已经微服务化,初创企业虽然技术积淀不行,但也通过各种开源工具拥抱微服务.再加上容器技术赋能,Kubernetes又添了一把火,微服务架构已然成为当前软件架构设 ...

  9. 线程池 http请求

    package com.aibi.cmdc.test; import java.io.BufferedReader; import java.io.InputStream; import java.i ...

  10. C语言基础知识【程序结构】

    C 程序结构1.C 程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释2.#include <stdio.h> int main(){   /* 我的第一个 C 程序 ...