📄 freechartutils.java
字号:
package com.qrsx.qrsxcrm.web;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
public class FreeChartUtils {
private static String path="c:\\e.jpg"; //保存路径
private static String title; //报表名称
/**
* 构造方法
* @param title
*/
public FreeChartUtils(String title,String path){
this.title=title;
this.path=path;
}
public FreeChartUtils(){}
public FreeChartUtils(String title){
this.title=title;
}
//******************************************************
//*生成饼状图
//*
//*****************************************************
/**
* 组装数据
* @return
*/
public static DefaultPieDataset getDateset(){
DefaultPieDataset dataset=new DefaultPieDataset();
dataset.setValue("asd", new Double(15));
dataset.setValue("erer", new Double(15));
return dataset;
}
/**
* 生成饼状图报表
* @return
*/
public static JFreeChart createChart(){
DefaultPieDataset dataset=FreeChartUtils.getDateset();
JFreeChart chart=ChartFactory.createPieChart(title, //名称
dataset, //数据源
true, //是否显示图例
true,
false
);
return chart;
}
/**
* 根据传递的数据生成饼状图报表
* @param dataset
* @return
*/
public static JFreeChart createChart(DefaultPieDataset dataset){
JFreeChart chart=ChartFactory.createPieChart(title, //名称
dataset, //数据源
true, //是否显示图例
true,
false
);
chart.setBackgroundPaint(Color.white);
return chart;
}
/**
* 根据传递的数据生成饼状图报表图片
* @throws IOException
*/
public static void createPicture(DefaultPieDataset dataset) throws IOException{
JFreeChart chart=FreeChartUtils.createChart(dataset);
FileOutputStream osJpg=null;
try {
osJpg=new FileOutputStream(path);
ChartUtilities.writeChartAsJPEG(osJpg, chart, 400, 300);
}finally{
try {
osJpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
//******************************************************
//*生成柱状图
//*
//*****************************************************
public static DefaultCategoryDataset getCategoryDateset(){
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.addValue(100, null, "pp");
dataset.addValue(200, null, "oo");
return dataset;
}
/**
*
* @param dataset,组装的数据
* @param X x轴 的名称
* @param Y y轴 的名称
* @return
*/
public static JFreeChart createChart(CategoryDataset dataset,String X,String Y){
JFreeChart chart =ChartFactory.createBarChart(title,
X,
Y,
dataset,
PlotOrientation.VERTICAL,
true,
false,
false
);
return chart;
}
/**
* 生成柱状图片
* @param dataset
* @throws IOException
*/
public static void createPicture(CategoryDataset dataset,String X,String Y) throws IOException{
JFreeChart chart=FreeChartUtils.createChart(dataset,X,Y);
FileOutputStream osJpg=null;
try {
osJpg=new FileOutputStream(path);
ChartUtilities.writeChartAsJPEG(osJpg,1, chart, 400, 300,null);
}finally{
try {
osJpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws IOException {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -