不容易啊,搞了一天。今天终于总算明白了。呵呵
第一个做的例子:饼图
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.ChartUtilities;
public class PieChartDemo {
public static void main(String[] args) throws IOException
{
// JFreeChart chart = ChartFactory.createPieChart("图书销售统计图",
// getDataSet(),
// true,
// false,
// false);
JFreeChart chart = ChartFactory.createPieChart3D("图书销售统计图",
getDataSet(),
true,
false,
false);
//重新设置图表标题,改变字体
chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
//取得统计图表的第一个图例
LegendTitle legend = chart.getLegend(0);
//修改图例的字体
legend.setItemFont(new Font("宋体",Font.BOLD,14));
//获取饼图的Plot对象
PiePlot plot = (PiePlot)chart.getPlot();
//设置饼图各部分的标签字体
plot.setLabelFont(new Font("楷书",Font.BOLD,9));
//设定背景透明度(0-1.0)之间
// plot.setBackgroundAlpha(0.9f);
plot.setBackgroundAlpha(0.9f); //设置背景色透明度
plot.setForegroundAlpha(0.5f); //设置前景色透明度(现在看上去透明的,就是这个设的属性)
FileOutputStream fos = new FileOutputStream("book5.jpg");
ChartUtilities.writeChartAsJPEG(fos, 1f, chart, 800, 600, null);
fos.close();
}
public static DefaultPieDataset getDataSet()
{
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("疯狂JAVA讲义", 47000);
dataset.setValue("轻量级JAVA EE企业实战", 38000);
dataset.setValue("疯狂AJAX讲义", 31000);
dataset.setValue("STRUTS 2权威指南", 29000);
dataset.setValue("疯狂XML讲义", 25000);
return dataset;
}
}
效果图为: