⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createpiechart.java

📁 一个自己编写的应用jfreechart生成piechart的类。注意在调用genPicture()之前首先要设置title,data,remoteAddr的值。genPicture()返回生成的图片的
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -