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

📄 caky.java

📁 JFreechart 饼图源代码
💻 JAVA
字号:
package com.mwq.chart;

import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.util.Rotation;

/**
 * @author mwq
 * 
 */
public class Caky extends StatChart {

	private String[] cutline;// 图例名称

	private double[] data;// 绘图数据

	private PiePlot plot;// 绘图区实例

	// 生成图片
	public String draw() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		for (int i = 0; i < cutline.length; i++) {
			dataset.setValue(cutline[i], data[i]);
		}

		chart = ChartFactory.createPieChart3D(chartTitle, // 图表标题
				dataset, // 绘图数据集
				false, // 是否绘制图例
				true, // 在扇形上是否提供热点信息
				false // 在扇形上是否提供热点链接
				);

		this.defineChart();
		this.definePlot();
		this.defineSector();
		this.defineLabel();

		return drawHotspot(false);
	}

	// 定义绘图区
	protected void definePlot() {
		plot = (PiePlot) chart.getPlot();

		// 设置绘图区背景色
		GradientPaint bg = new GradientPaint(0, 50, new Color(248, 253, 255),
				0, 250, new Color(205, 237, 252));
		plot.setBackgroundPaint(bg);

		plot.setIgnoreNullValues(true);// 不显示绘图数据设为NULL的图例,默认为显示(false)
		plot.setIgnoreZeroValues(false);// 显示绘图数据设为0的图例,默认为显示(false)
	}

	// 定义扇形
	private void defineSector() {

		plot.setCircular(false); // 设置饼图的外观为椭圆,默认为正圆(true)

		plot.setForegroundAlpha(0.8f); // 设置饼图的透明度

		plot.setStartAngle(90); // 设置开始绘制第1段圆弧的角度

		plot.setDirection(Rotation.ANTICLOCKWISE); // 设置饼图的绘制方向为逆时针

	}

	// 定义标识符
	private void defineLabel() {

		plot.setLabelFont(new Font("汉真广标", Font.PLAIN, 12)); // 设置饼图标签的字体

		plot.setLabelBackgroundPaint(Color.YELLOW); // 设置图例名称背景色
	}

	/**
	 * @param cutline
	 *            要设置的 cutline
	 */
	public void setCutline(String[] cutline) {
		this.cutline = cutline;
	}

	/**
	 * @param data
	 *            要设置的 data
	 */
	public void setData(double[] data) {
		this.data = data;
	}

}

⌨️ 快捷键说明

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