JFreeChart饼图 JFreeChart引用的API JFreeChart条形图 在饼图中,每个扇区的弧长与其所代表的数量成正比。本章演示 - 我们如何使用JFreeChart 从一组给定的业务数据创建 饼图 。 业务数据 以下示例在饼图的帮助下描述了移动销售。以下是不同移动品牌及其销售(每天的单位)清单。 S.No 移动品牌 销售额(每天的单位数) 1 IPhone 5S 20 2 三星Grand 20 3 MOTO G 40 4 诺基亚Lumia 10 基于AWT的应用程序 以下是使用上述给定信息创建饼图的代码。此代码可帮助您在任何基于AWT的应用程序中嵌入饼图。 import javax.swing.JPanel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class PieChart_AWT extends ApplicationFrame { public PieChart_AWT( String title ) { super( title ); setContentPane(createDemoPanel( )); } private static PieDataset createDataset( ) { DefaultPieDataset dataset = new DefaultPieDataset( ); dataset.setValue( "IPhone 5s" , new Double( 20 ) ); dataset.setValue( "SamSung Grand" , new Double( 20 ) ); dataset.setValue( "MotoG" , new Double( 40 ) ); dataset.setValue( "Nokia Lumia" , new Double( 10 ) ); return dataset; } private static JFreeChart createChart( PieDataset dataset ) { JFreeChart chart = ChartFactory.createPieChart( "Mobile Sales", // chart title dataset, // data true, // include legend true, false); return chart; } public static JPanel createDemoPanel( ) { JFreeChart chart = createChart(createDataset( ) ); return new ChartPanel( chart ); } public static void main( String[ ] args ) { PieChart_AWT demo = new PieChart_AWT( "Mobile Sales" ); demo.setSize( 560 , 367 ); RefineryUtilities.centerFrameOnScreen( demo ); demo.setVisible( true ); } } 让我们将上面的Java代码保存在 PieChart_AWT.java 文件中,然后从提示的命令中编译并运行它 - $javac PieChart_AWT.java $java PieChart_AWT 如果一切正常,它将编译并运行以生成以下饼图 - 如果您不需要将图表嵌入到任何应用程序中,则可以在命令提示符下创建图表图像。JFreeChart允许您以JPG或PNG格式保存图表图像。 JPEG图像创建 让我们重写上面的例子,从命令行生成一个JPEG图像。以下是JFreeChart库提供的两个API,您可以根据需要使用它来生成PNG或JPEG图像。 saveChartAsPNG() - API以PNG格式保存图像。 saveChartAsJPEG() - API以JPEG格式保存图像。 import java.io.*; import org.jfree.chart.ChartUtilities; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class PieChart { public static void main( String[ ] args ) throws Exception { DefaultPieDataset dataset = new DefaultPieDataset( ); dataset.setValue("IPhone 5s", new Double( 20 ) ); dataset.setValue("SamSung Grand", new Double( 20 ) ); dataset.setValue("MotoG", new Double( 40 ) ); dataset.setValue("Nokia Lumia", new Double( 10 ) ); JFreeChart chart = ChartFactory.createPieChart( "Mobile Sales", // chart title dataset, // data true, // include legend true, false); int width = 640; /* Width of the image */ int height = 480; /* Height of the image */ File pieChart = new File( "PieChart.jpeg" ); ChartUtilities.saveChartAsJPEG( pieChart , chart , width , height ); } } 让我们将上面的Java代码保存在 PieChart.java 文件中,然后从提示的命令中编译并运行它 - $javac PieChart.java $java PieChart 如果一切正常,它将编译并运行在当前目录中创建一个名为 PieChart.jpeg 的JPEG图像文件。 JFreeChart引用的API JFreeChart条形图