- 浏览: 81691 次
- 性别:
- 来自: 西安
文章分类
最新评论
JFreeChart学习心得与例子
一、JFreeChart的介绍与获取
JFreeChart开发包是一个开源的Java图形开发包,它从柱形图,饼形图,到雷达图,蜡烛图等等无所不包,可以在c/s,b/s,甚至是实时环境都能一显身手。
当前的JFreeChart的最新版本为jfreechart-1.0.0-rc1.zip。可以到http://www.jfree.org/jfreechart/ind...ath环境变量中。
二、JFreeChart配置安装
1 、解压jfreechart-1.0.1.zip.zip到指定位置,其中source是jfreechart的源码,jfreechart-1.0.1-demo.jar 是例子程序,可以先运行一下看看各种效果,就知道他的nb之处了。
2 、为了配置成功,我们需要关注的文件有如下三个:
设置classpath。加入下面三个jar包。
jfreechart-1.0.1.jar 、jcommon-1.0.0.jar、gnujaxp.jar
加上第三个jar包有时web.xml会报错,把它去掉就好了。
至此jfreechart的配置就完成了,下面就可以进行jfreechart的开发了。这里值得提出的是jfreechart的类
结构设计前后兼容性不是很好,不同版本的jfreechart中类库结构可能不一样,有时候可能需要查源码。如果是中文显示的时候可能依据观感需要改变源码的字体。
三、JFreeChart的基本使用
不论创建的是什么图,JFreeChart都遵循以下的这个使用步骤:
1、建立Dataset。所有的数据都存放在Dataset中的。(创建一个数据源(dataset)来包含将要在图形中显示的数据)
2、建立JFreeChart。将dataset中的数据导入到JFreeChart中。(创建一个 JFreeChart 对象来代表要显示的图形 )
3、设置JFreeChart的显示属性。这一步可以省略,使用默认的JFreeChart显示属性。
3、渲染图表。即生成图片。
4、页面图片显示。
重要的类和接口:
org.jfree.data.general.Dataset 所有数据源类都要实现的接口
org.jfree.chart.ChartFactory 由它来产生 JFreeChart 对象
org.jfree.chart.JFreeChart 所有对图形的调整都是通过它噢!!
org.jfree.chart.plot.Plot 通过JFreeChart 对象获得它,然后再通过它对图形外部部分(例:坐标轴)调整
注意:它有很多子类,一般都下涉及到它的子类!
org.jfree.chart.renderer.AbstractRenderer 通过JFreeChart 对象获得它,然后再通过它对图形内部部分(例:折线的类型)调整。同样,针对不同类型的报表图,它有着不同的子类实现!在下面我们简称它为 Renderer
四、JFreeChart使用的具体例子
在web应用中的例子
/*
* 创建日期 2006-8-1
* @author:hong
* FileName:LineXYChart.java
*/
package com.hong.bean;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import javax.servlet.http.HttpSession;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardXYToolTipGenerator;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.XYItemRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.RectangleInsets;
/**
* @author hong 曲线图的绘制
*/
public class LineXYChart
{
/**
* 返回生成图片的文件名
* @param session
* @param pw
* @return 生成图片的文件名
*/
public String getLineXYChart(HttpSession session, PrintWriter pw)
{
XYDataset dataset = this.createDateSet();//建立数据集
String fileName = null;
//建立JFreeChart
JFreeChart chart = ChartFactory.createTimeSeriesChart(
"JFreeChart时间曲线序列图", // title
"Date", // x-axis label
"Price", // y-axis label
dataset, // data
true, // create legend?
true, // generate tooltips?
false // generate URLs?
);
//设置JFreeChart的显示属性,对图形外部部分进行调整
chart.setBackgroundPaint(Color.red);//设置曲线图背景色
//设置字体大小,形状
Font font = new Font("宋体", Font.BOLD, 16);
TextTitle title = new TextTitle("JFreeChart时间曲线序列图", font);
chart.setTitle(title);
XYPlot plot = (XYPlot) chart.getPlot();//获取图形的画布
plot.setBackgroundPaint(Color.lightGray);//设置网格背景色
plot.setDomainGridlinePaint(Color.green);//设置网格竖线(Domain轴)颜色
plot.setRangeGridlinePaint(Color.white);//设置网格横线颜色
plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));//设置曲线图与xy轴的距离
plot.setDomainCrosshairVisible(true);
plot.setRangeCrosshairVisible(true);
XYItemRenderer r = plot.getRenderer();
if (r instanceof XYLineAndShapeRenderer)
{
XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) r;
//renderer.setDefaultShapesVisible(true);
//renderer.setDefaultShapesFilled(true);
renderer.setShapesFilled(true);
renderer.setShapesVisible(true);//设置曲线是否显示数据点
}
//设置Y轴
NumberAxis numAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat numFormater = NumberFormat.getNumberInstance();
numFormater.setMinimumFractionDigits(2);
numAxis.setNumberFormatOverride(numFormater);
//设置提示信息
StandardXYToolTipGenerator tipGenerator = new StandardXYToolTipGenerator(
"{1},{2})", new SimpleDateFormat("MM-dd"),
numFormater);
r.setToolTipGenerator(tipGenerator);
//设置X轴(日期轴)
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("MM-dd"));
ChartRenderingInfo info = new ChartRenderingInfo(
new StandardEntityCollection());
try
{
fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, info,
session);//生成图片
// Write the image map to the PrintWriter
ChartUtilities.writeImageMap(pw, fileName, info, false);
}
catch (IOException e)
{
e.printStackTrace();
}
pw.flush();
return fileName;//返回生成图片的文件名
}
/**
* 建立生成图形所需的数据集
* @return 返回数据集
*/
private XYDataset createDateSet()
{
TimeSeriesCollection dataset = new TimeSeriesCollection();//时间曲线数据集合
TimeSeries s1 = new TimeSeries("历史曲线", Day.class);//创建时间数据源,每一个//TimeSeries在图上是一条曲线
//s1.add(new Day(day,month,year),value),添加数据点信息
s1.add(new Day(1, 2, 2006), 123.51);
s1.add(new Day(2, 2, 2006), 122.1);
s1.add(new Day(3, 2, 2006), 120.86);
s1.add(new Day(4, 2, 2006), 122.50);
s1.add(new Day(5, 2, 2006), 123.12);
s1.add(new Day(6, 2, 2006), 123.9);
s1.add(new Day(7, 2, 2006), 124.47);
s1.add(new Day(8, 2, 2006), 124.08);
s1.add(new Day(9, 2, 2006), 123.55);
s1.add(new Day(10, 2, 2006), 122.53);
dataset.addSeries(s1);
dataset.setDomainIsPointsInTime(true);
return dataset;
}
}
在jsp文件中显示图片
首先在Web应用程序部署文件web.xml中添加以下代码:
<!-- 图片显示,使用专用的servlet来进行显示,它会完成路径的搜索及映射 -->
<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>
然后在jsp中显示图片
完整的jsp文件:
<!--文件名称:timeLine.jsp-->
<%@ page contentType="text/html;charset=gb2312" pageEncoding="GB2312"%>
<%@ page import="com.hong.bean.LineXYChart"%>
<%@ page import = "java.io.PrintWriter" %>
<%
LineXYChart xyChart=new LineXYChart();
String fileName=xyChart.getLineXYChart(session,new PrintWriter(out));
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName;
%>
<html>
</head>
<title> JFreeChart使用例子</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= fileName %>">
</body>
</html>
常见生成方式:
对JfreeChart有了初步了解并做好准备工作之后,开始作例子程序试验。在这里我只介绍饼图的做法,而这张图采用不同的方式进行输出,其他类型的图片可以参考jfreechart提供的例子,做法都差不多。
1) 直接生成图片
代码
- publicclassPieChartPicture{
- publicstaticvoidmain(String[]args)
- {
- PieDatasetdataset=getDataSet();
- JFreeChartchart=ChartFactory.createPieChart3D(
- "项目进度分布",//charttitle
- dataset,//data
- true,//includelegend
- true,
- false
- );
- PiePlot3Dplot=(PiePlot3D)chart.getPlot();
- //图片中显示百分比:默认方式
- //plot.setLabelGenerator(newStandardPieSectionLabelGenerator(StandardPieToolTipGenerator.DEFAULT_TOOLTIP_FORMAT));
- //图片中显示百分比:自定义方式,{0}表示选项,{1}表示数值,{2}表示所占比例,小数点后两位
- plot.setLabelGenerator(newStandardPieSectionLabelGenerator("{0}={1}({2})",NumberFormat.getNumberInstance(),newDecimalFormat("0.00%")));
- //图例显示百分比:自定义方式,{0}表示选项,{1}表示数值,{2}表示所占比例
- plot.setLegendLabelGenerator(newStandardPieSectionLabelGenerator("{0}={1}({2})"));
- //设置背景色为白色
- chart.setBackgroundPaint(Color.white);
- //指定图片的透明度(0.0-1.0)
- plot.setForegroundAlpha(1.0f);
- //指定显示的饼图上圆形(false)还椭圆形(true)
- plot.setCircular(true);
- //设置图标题的字体
- Fontfont=newFont("黑体",Font.CENTER_BASELINE,20);
- TextTitletitle=newTextTitle("项目状态分布");
- title.setFont(font);
- chart.setTitle(title);
- FileOutputStreamfos_jpg=null;
- try{
- fos_jpg=newFileOutputStream("D://项目状态分布.jpg");
- ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,640,480,null);
- fos_jpg.close();
- }catch(Exceptione){
- }
- }
- privatestaticPieDatasetgetDataSet(){
- DefaultPieDatasetdataset=newDefaultPieDataset();
- dataset.setValue("市场前期",newDouble(10));
- dataset.setValue("立项",newDouble(15));
- dataset.setValue("计划",newDouble(10));
- dataset.setValue("需求与设计",newDouble(10));
- dataset.setValue("执行控制",newDouble(35));
- dataset.setValue("收尾",newDouble(10));
- dataset.setValue("运维",newDouble(10));
- returndataset;
- }
- }
2) 采用servlet和struts的action方式输出
采用这种方式输出,不用生成图片。
A .servlet输出
代码
- publicclassPieByServletextendsHttpServlet{
- publicvoidservice(ServletRequestreq,ServletResponseres)
- throwsServletException,IOException
- {
- res.setContentType("image/jpeg");
- PieDatasetdataset=getDataSet();
- JFreeChartchart=ChartFactory.createPieChart3D(
- "水果饼图",//charttitle
- dataset,//data
- true,//includelegend
- true,
- false);
- //设置图表属性
- //输出图片
- ChartUtilities.writeChartAsJPEG(res.getOutputStream(),100,chart,800,600,null);
- }
B .struts的action方式输出
只将这条语句加上try catch即可,并返回null。
代码
- try{
- ChartUtilities.writeChartAsJPEG(response.getOutputStream(),100,chart,800,600,null);
- }catch(Exceptione){
- }
- returnnull;
其实采用这两种方式与生成图片的方式改动并不大
加上语句response.setContentType("image/jpeg");
ChartUtilities.writeChartAsJPEG(new FileOutputStream("D:// 项目状态分布.jpg");,100,chart,640,480,null);
文件流改成response的输出流就可以了
hartUtilities.writeChartAsJPEG(response.getOutputStream(),100,chart,800,600,null);
3)jsp+servlet+javabean方式
1. Create ChartViewer servlet
代码
- publicclassChartViewerextendsHttpServlet{
- publicvoidinit()throwsServletException{
- }
- //ProcesstheHTTPGetrequest
- publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
- //getthechartfromsession
- HttpSessionsession=request.getSession();
- BufferedImagechartImage=(BufferedImage)session.getAttribute("chartImage");
- //setthecontenttypesothebrowsercanseethisasapicture
- response.setContentType("image/png");
- //sendthepicture
- PngEncoderencoder=newPngEncoder(chartImage,false,0,9);
- response.getOutputStream().write(encoder.pngEncode());
- }
- //ProcesstheHTTPPostrequest
- publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
- doGet(request,response);
- }
- //ProcesstheHTTPPutrequest
- publicvoiddoPut(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
- }
- //Cleanupresources
- publicvoiddestroy(){}
- }
2. Create a servlet map in web.xml
代码
- <?xmlversion="1.0"encoding="UTF-8"?>
- <web-app>
- <servlet>
- <servlet-name>ChartViewer</servlet-name>
- <servlet-class>myapp.webwork.servlets.ChartViewer</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>ChartViewer</servlet-name>
- <url-pattern>/servlet/ChartViewer</url-pattern>
- </servlet-mapping>
- </web-app>
3. Create a chart in a java bean (Pie3DDemo.java)
代码
- publicclassPie3DDemo{
- privateDefaultPieDatasetgetDataset(){
- //categories...
- String[]section=newString[]{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
- //data...
- double[]data=newdouble[section.length];
- for(inti=0;i<data.length;i++){
- data[i]=10+(Math.random()*10);
- }
- //createthedataset...
- DefaultPieDatasetdataset=newDefaultPieDataset();
- for(inti=0;i<data.length;i++){
- dataset.setValue(section[i],data[i]);
- }
- returndataset;
- }
- publicStringgetChartViewer(HttpServletRequestrequest,HttpServletResponseresponse){
- DefaultPieDatasetdataset=getDataset();
- //createthechart...
- JFreeChartchart=ChartFactory.createPie3DChart(
- "Pie3DChartDemo",//charttitle
- dataset,//data
- true,//includelegend
- true,
- false
- );
- //setthebackgroundcolorforthechart...
- chart.setBackgroundPaint(Color.cyan);
- PiePlotplot=(PiePlot)chart.getPlot();
- plot.setNoDataMessage("Nodataavailable");
- //setdrilldowncapability...
- plot.setURLGenerator(newStandardPieURLGenerator("Bar3DDemo.jsp","section"));
- plot.setLabelGenerator(null);
- //OPTIONALCUSTOMISATIONCOMPLETED.
- ChartRenderingInfoinfo=null;
- HttpSessionsession=request.getSession();
- try{
- //CreateRenderingInfoobject
- response.setContentType("text/html");
- info=newChartRenderingInfo(newStandardEntityCollection());
- BufferedImagechartImage=chart.createBufferedImage(640,400,info);
- //puttingchartasBufferedImageinsession,
- //thusmakingitavailablefortheimagereadingactionAction.
- session.setAttribute("chartImage",chartImage);
- PrintWriterwriter=newPrintWriter(response.getWriter());
- ChartUtilities.writeImageMap(writer,"imageMap",info);
- writer.flush();
- }catch(Exceptione){}
- StringpathInfo="http://";
- pathInfo+=request.getServerName();
- intport=request.getServerPort();
- pathInfo+=":"+String.valueOf(port);
- pathInfo+=request.getContextPath();
- StringchartViewer=pathInfo+"/servlet/ChartViewer";
- returnchartViewer;
- }
6. 页面
代码
- <html>
- <head>
- <title>PieChartDemo</title>
- </head>
- <jsp:useBeanidjsp:useBeanid="myChart"scope="session"class="myapp.webwork.beans.Pie3DDemo"/>
- <body>
- <h2>PieChartDemo</h2>
- <%StringchartViewer=myChart.getChartViewer(request,response);%>
- <imgsrc="<%=chartViewer%>"border=0usemap="#imageMap">
- </body>
- </html>
4)采用工具类ChartUtil和DisplayChart(jfreechart的servlet)输出
我用了上面的几个方法输出图片,发现页面里只能输出一个图片,
不过下面的方法可以输出多个图片,而且是几种方式中最简单的一个,推荐使用。
这种方式和上面的三种比较类似,是将javabean里的生成图片的方法写的一个工具类ChartUtil里面。
1 .添加工具类ChartUtil
public class ChartUtil {
// 产生时间序列图,返回图片名称
代码
- publicstaticStringgeneratePieChart(DefaultPieDatasetdataset,Stringtitle,intwidth,intheight,HttpSessionsession,PrintWriterpw){
- Stringfilename=null;
- try{
- if(session!=null)
- {
- ChartDeleterdeleter=(ChartDeleter)session.getAttribute("JFreeChart_Deleter");
- session.removeAttribute("JFreeChart_Deleter");
- session.setAttribute("JFreeChart_Deleter",deleter);
- }
- JFreeChartchart=ChartFactory.createPieChart3D(
- title,//charttitle
- dataset,//data
- true,//includelegend
- true,
- false);
- //Writethechartimagetothetemporarydirectory
- ChartRenderingInfoinfo=newChartRenderingInfo(newStandardEntityCollection());
- //Ifthelastparameterisnull,thechartisa"onetime"-chartandwillbedeletedafterthefirstserving.
- //Ifthelastparameterisasessionobject,thechartremainsuntilsessiontimeout.
- filename=ServletUtilities.saveChartAsPNG(chart,width,height,info,session);
- //WritetheimagemaptothePrintWriter
- ChartUtilities.writeImageMap(pw,filename,info,true);
- pw.flush();
- }catch(Exceptione){
- System.out.println("Exception-"+e.toString());
- e.printStackTrace(System.out);
- filename="picture_error.png";}
- returnfilename;
- }
- }
2、在action里统计数据,设置好数据集dataset。传到页面
3、 在页面里取出
DefaultPieDataset piedataset=(DefaultPieDataset)request.getAttribute("piedataset");
// 用ChartUtil工具类产生图片
代码
- Stringp=ChartUtil.generatePieChart(piedataset,"项目收支线图",500,300,null,newPrintWriter(out));
- Stringp1=request.getContextPath()+"/servlet/DisplayChart?filename="+p;
通过以下方式输出
代码
- <td><imgsrc="<%=p1%>"width=500height=300border=0usemap="#<%=p%>"></td>
4、在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>
5) ApplicationFrame 方式
代码
- publicclassPieChartDemo1extendsApplicationFrame{
- publicPieChartDemo1(Stringtitle){
- super(title);
- setContentPane(createDemoPanel());
- }
- privatestaticJFreeChartcreateChart(PieDatasetdataset){
- JFreeChartchart=ChartFactory.createPieChart(
- .......
- returnchart;
- }
- publicstaticJPanelcreateDemoPanel(){
- JFreeChartchart=createChart(createDataset());
- returnnewChartPanel(chart);
- }
- publicstaticvoidmain(String[]args){
- PieChartDemo1demo=newPieChartDemo1("PieChartDemo1");
- demo.pack();
- RefineryUtilities.centerFrameOnScreen(demo);
- demo.setVisible(true);
- }
- }
相关推荐
在这个例子中,我们创建了一个 `TimeSeries` 对象来存储时间序列数据,然后构建了一个 `TimeSeriesCollection` 来组合多个时间序列。接着,我们通过 `ChartFactory.createTimeSeriesChart()` 创建折线图,并进行一些...
【JFreeChart 个人心得总结】 一、JFreeChart 简介 JFreeChart 是一个用 Java 编写的开源图表库,它提供了一系列丰富的图表类型,如饼图、柱状图、线图、散点图等,适用于各种数据可视化需求。这个库广泛应用于商业...
2. **Web 示例**:可能包括在 JavaServer Pages (JSP) 或 Servlets 中使用 JFreeChart 的例子。这些示例可能涉及到如何将图表导出为图像文件,然后在网页上显示,或者通过 AJAX 实现动态更新。 3. **数据源和序列化...
**JFreeChart使用心得与实例解析** JFreeChart是一款强大的Java图表库,它允许开发者创建各种复杂的图表,如柱状图、饼图、线图、散点图等,广泛应用于数据分析、报告展示以及Web应用程序中。本文将分享JFreeChart...
### JFreeChart 使用心得 #### 一、JFreeChart 的介绍与获取 JFreeChart 是一个功能强大的开源 Java 图表库,支持多种图表类型,包括但不限于条形图、饼图、雷达图、K线图等。它适用于客户端/服务器 (C/S)、浏览器...
这个1.0.8版本的演示和例子源码包为开发者提供了一个深入理解JFreeChart功能和用法的机会。虽然版本较旧,但其核心概念和大部分API在后续版本中依然保持稳定,因此对于学习和参考来说仍具有很高的价值。 JFreeChart...
**JAVA图表工具 jfreechart 源码及完整例子详解** `JFreeChart`是一款强大的开源Java库,用于创建各种类型的图表,如柱状图、饼图、线图、散点图、甘特图等。它广泛应用于数据分析、报告生成以及GUI应用中,提供了...
JFreeChart是一款流行的开源Java图形开发包,它提供了丰富的图表类型,从基本的柱形图、饼形图到复杂的雷达图、蜡烛图等。...通过实际的使用心得和例子,开发者可以更好地掌握JFreeChart的使用技巧,提高开发效率。
这份学习资料是针对 JFreeChart 的使用进行讲解,主要涵盖了如何在 Web 项目中集成 JFreeChart 以及创建不同类型的图表。 1. **Web 项目集成**: 在一个标准的 Web 项目中,为了展示 JFreeChart 生成的图表,我们...
"JFreeChart 官方例子 JFreeChart Dome" 提供了一系列官方示例,帮助开发者更好地理解和运用JFreeChart库的各种功能。 "ChangeLog" 文件通常记录了软件的更新历史,其中包括了每次版本升级中添加的新特性、修复的...
这个压缩包“JFreeChart入门小例子.rar”显然是一个初学者导向的教程资源,旨在帮助用户快速掌握如何在Java项目中集成和使用JFreeChart。 在“JFreeChart入门小例子 - 因为专注,所以专业 - BlogJava.htm”中,可能...
JFreeChart是一款强大的Java库,用于创建各种类型的高质量图表,如饼图、柱状图、...通过学习和实践“JFreeChart生成图表的例子.rar”中的代码,你可以深入了解并掌握在Java应用中使用JFreeChart进行数据可视化的技巧。
标题“jfreechart经典例子”暗示了我们将深入探讨如何使用JFreeChart库创建各种图表,并通过具体的示例来理解其工作原理。 首先,JFreeChart库是开源的,这意味着它允许开发者自由地使用、修改和分发。它的API设计...
3. **设置数据**:将数据源与图表关联,这可能涉及到设置X轴和Y轴的数据,或者对饼图进行切片分配。 4. **定制外观**:调整图表的颜色、字体、边框等属性,以满足视觉效果。 5. **绘制图表**:将图表绘制到Graphics...
**JFreeChart** 是一个广泛使用的Java库,用于...在学习JFreeChart的过程中,建议结合提供的例子进行实践,逐步掌握其用法和技巧。同时,查阅官方文档和相关社区资源,能帮助解决遇到的问题,进一步提升图表开发能力。
JfreeChart学习总结JfreeChart学习总结
**九、JFreeChart与其他库的结合** JFreeChart可以与Swing、JavaFX等图形库结合,也可以与Spring、Hibernate等框架配合,提高开发效率。 总的来说,JFreeChart是Java开发中不可或缺的图表工具,其强大而灵活的功能...
《JFreeChart实战:全方位解析与应用》 JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,...
**JFreeChart** 是一个非常流行的Java库,用于创建各种类型的图表,如柱状图、饼图、线图、散点图等。...通过深入学习JFreeChart的API和特性,开发者可以创建更复杂、更美观的数据可视化应用,满足各种业务需求。