下面我们先来介绍JFreeChart中几个核心的对象类:
类名 | 类的作用以及简单描述 |
JFreeChart | 图 表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象 |
XXXXXDataset | 数 据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类 |
XXXXXPlot | 图 表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持 |
XXXXXAxis | 用 于处理图表的两个轴:纵轴和横轴 |
XXXXXRenderer | 负责如何显示一个图表对象 |
XXXXXURLGenerator | 用 于生成Web图表中每个项目的鼠标点击链接 |
XXXXXToolTipGenerator | 用于生成 图象的帮助提示,不同类型图表对应不同类型的工具提示类
|
一个简单的例子,使用的是饼状图
public class JfreeChartTest {
public static void main(String[] args) {
// 创建饼图数据对象
DefaultPieDataset dfp = new DefaultPieDataset();
dfp.setValue("产品部", 25);
dfp.setValue("技术部", 35);
dfp.setValue("企划部", 20);
dfp.setValue("项目部", 5);
dfp.setValue("销售部", 15);
// 饼图描述标题
JFreeChart chart = ChartFactory.createPieChart("CityInfoPort图测试", dfp,
true, true, true);
// 设置标题文字,并将其字体设置 此处为图片正上方文字
chart.setTitle(new TextTitle("CityInfoPort图测试", new Font("黑体",
Font.BOLD, 16)));
// 取得统一表的第一个图列
LegendTitle legend = chart.getLegend(0);
// 修改图例字体
legend.setItemFont(new Font("宋体", Font.BOLD, 14));
// 取得饼图plot对象
PiePlot plot = (PiePlot) chart.getPlot();
// 设置饼图各部分标签字体
plot.setLabelFont(new Font("隶书", Font.ITALIC, 20));
// 设置标题文字
// 以下是显示
ChartFrame frame = new ChartFrame("CityInfoPort公司组织架构图 ", chart, true);
frame.pack();
frame.setVisible(true);
/*try {
FileOutputStream fos = new FileOutputStream("c:\\test.jpg");
ChartUtilities.writeChartAsJPEG(fos, chart, 800, 400);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}*/
}
}