JFreeChart is a free chart library for Java that can generate a wide variety of charts for use in applications, applets and servlets.
JFreeChart API文档分两部分,org.jfree.chart包和org.jfree.data包
我们要画一张图首先做的就是:
以饼图为例:
·准备数据集->生成数据集对象org.jfree.data.general 下Interface Dataset的实现类
DefaultPieDataset dpd = new DefaultPieDataset(); |
·set数据进去
不同的图set数据的参数不同,一般参数都比较多,但都很好理解
dpd.setValue("Chinese", 108); dpd.setValue("Math", 110); dpd.setValue("English", 74); dpd.setValue("Science Department", 226); |
·使用org.jfree.chart.ChartFactory产生一个JFreeChart对象
createPieChart方法四个参数分别为饼图标题,数据集,是否产生图注,鼠标移上去是否产生相应的提示信息、locale - the locale (null not permitted),可以改变参数看效果,真的很不错
JFreeChart jfreechart = ChartFactory.createPieChart("bulktree high-tech achievement", dpd, true, true, false); |
·利用org.jfree.chart.ChartFrame生成显示图的窗体
ChartFrame继承自javax.swing.JFrame,自然有窗体标题和JFreeChart对象
ChartFrame frame = new ChartFrame("BULKTREE HIGH-TECH ACHIEVEMENT", jfreechart); |
顺便调用setVisible方法显示
frame.pack(); frame.setVisible(true); |
完整的代码如下:
package com.bulktree.jfreechart; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class CreatePieChartTest { public static void main(String[] args) { // 准备饼图数据集 DefaultPieDataset dpd = new DefaultPieDataset(); dpd.setValue("Chinese", 108); dpd.setValue("Math", 110); dpd.setValue("English", 74); dpd.setValue("Science Department", 226); /** * 利用chart工厂产生JFreeChart对象 * createPieChart四个参数饼图标题,数据集,是否产生图注,鼠标移上去是否产生相应的提示信息、locale - the locale (null not permitted). */ JFreeChart jfreechart = ChartFactory.createPieChart("bulktree high-tech achievement", dpd, true, true, false);
// 产生3d饼图 // JFreeChart jfreechart = ChartFactory.createPieChart3D("bulktree high-tech achievement", dpd, // true, true, false);
ChartFrame frame = new ChartFrame("BULKTREE HIGH-TECH ACHIEVEMENT", jfreechart); frame.pack(); frame.setVisible(true); } } |