createpiechart.java

来自「一个自己编写的应用jfreechart生成piechart的类。注意在调用gen」· Java 代码 · 共 98 行

JAVA
98
字号
package business.chart;

import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;

/**
 * @author 阙韧杰
 *
 */
public class CreatePieChart {
	private String title;

	private String[][] data;
	private String remoteAddr;

	/**
	 * @decription	default constructor
	 */
	public CreatePieChart() {
	}

	/**
	 * @return		返回图片路径
	 */
	public String genPicture() {
		String fileName = "";
		DefaultPieDataset piedata = new DefaultPieDataset();
		if (data != null) {
			for (int i = 0; i < data.length; i++) {
				piedata.setValue(data[i][0], Float.parseFloat(data[i][1]));
			}
		}
		JFreeChart chart = ChartFactory.createPieChart(title, piedata, true,
				true, true);
		// 设定图片标题
		chart.setTitle(new TextTitle(title, new Font("隶书", Font.ITALIC, 15)));
		// 设定背景
		chart.setBackgroundPaint(Color.white);
		// 饼图使用一个PiePlot
		PiePlot pie = (PiePlot) chart.getPlot();
		// 设定百分比显示格式
		pie.setBackgroundPaint(Color.white);
		// 设定背景透明度(0-1.0之间)
		pie.setBackgroundAlpha(0.6f);
		// 设定前景透明度(0-1.0之间)
		pie.setForegroundAlpha(0.90f);
		// 输出文件到指定目录
		
		String rfname = "PieChart" + this.remoteAddr + ".jpeg";
		fileName = "d:" + File.separator + "test1" + File.separator + "pages" + File.separator + "test" + File.separator + "jfc" + File.separator + "picture" + File.separator + rfname;
		try {
			// 可以保存文件为jpg或png格式。
			ChartUtilities.saveChartAsJPEG(new File(fileName), 100, chart, 600,
					600);
			// 第一个参数为文件名
			// 第二个参数质量
			// 第三个参数为哪个chart创建图片
			// 第四个宽度
			// 第五个高度
		} catch (IOException exz) {
			System.out.print("....Cant’t Create image File");
		}

		return fileName;
	}

	/**
	 * @param data The data to set.
	 */
	public void setData(String[][] data) {
		this.data = data;
	}

	/**
	 * @param title The title to set.
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * @param remoteAddr The remoteAddr to set.
	 */
	public void setRemoteAddr(String remoteAddr) {
		this.remoteAddr = remoteAddr;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?