项目下载地址:http://download.csdn.net/detail/w420372197/4180456
感谢“java web 整合开发 王者归来”这里的代码源自这本书
目录:
一、图形及代码:
1、饼形图
2.1、普通柱形图
2.2、XYDataset柱形图
3、折线图
4、区域图
5、时序图
6、组合图
二web应用jfreeChar(区域图)
三:DataUtils类代码(所有代码中均应用的类,得到随即数据)
一、图形及代码
1、饼形图
package com.helloweenvsfei.jfreechart;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class PieChart {
public static void main(String[] agrs) throws IOException{
// 打开一个输出流
OutputStream outputStream=new FileOutputStream("PieChart.png");
// 获取数据集对象
PieDataset dataset = createPieDataset();
// 创建图形对象
JFreeChart jfreechart = ChartFactory.createPieChart3D("08年图书销量排行榜",
dataset, true, true, false);
// 获得图表区域对象
PiePlot pieplot = (PiePlot) jfreechart.getPlot();
// 设置图表区域的标签字体
pieplot.setLabelFont(new Font("宋体", 0, 12));
// 设置图表区域无数据时的默认显示文字
pieplot.setNoDataMessage("没有销售数据");
// 设置图表区域不是圆形,由于是3D的饼形图,建议设置为false
pieplot.setCircular(false);
// 设置图表区域文字与图表区域的间隔距离,0.02表示2%
pieplot.setLabelGap(0.02D);
// 将图表已数据流的方式返回给客户端
ChartUtilities.writeChartAsPNG(outputStream, jfreechart,
500, 270);
}
/**
* 返回数据集
*
* @return
*/
private static PieDataset createPieDataset() {
// 创建饼形图数据集对象
DefaultPieDataset defaultpiedataset = new DefaultPieDataset();
// 分别图形区域的说明和数据
defaultpiedataset.setValue("JAVA", DataUtils.getRandomData());
defaultpiedataset.setValue("C/C++", DataUtils.getRandomData());
defaultpiedataset.setValue("PHP", DataUtils.getRandomData());
defaultpiedataset.setValue("JavaScript", DataUtils.getRandomData());
defaultpiedataset.setValue("Ajax", DataUtils.getRandomData());
return defaultpiedataset;
}
}
效果 :
2.1、普通柱形图
package com.helloweenvsfei.jfreechart;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;