JFreeChart(二)之饼图
轉載自?JFreeChart餅圖
在餅圖中,每個扇區(qū)的弧長成正比它代表的數(shù)量。本章演示了如何使用JFreeChart 從一個給定的業(yè)務數(shù)據(jù)創(chuàng)建餅圖。
業(yè)務數(shù)據(jù)
下面的例子描述了移動銷售餅圖。以下是不同移動品牌和銷售(每天單位)列表。
| 1 | Iphone 5S | 20 |
| 2 | Samsung Grand | 20 |
| 3 | MOTO G | 40 |
| 4 | Nokia Lumia | 10 |
基于AWT 應用
以下是對從上述給定的信息創(chuàng)建餅圖的代碼。此代碼可以幫助嵌入一個餅圖在任何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 ); } }讓我們繼續(xù)上面PieChart_AWT.java文件中的Java代碼,然后從命令提示符下編譯并運行它,如下所示:
$javac PieChart_AWT.java $java PieChart_AWT如果一切順利,它會編譯并運行生成以下餅圖:
?
如果不需要在應用程序嵌入圖表中,那么可以在命令提示符下創(chuàng)建圖表的圖像。 JFreeChart允許以JPG或PNG格式保存圖表圖像。
JPEG創(chuàng)建圖像
讓我們重新寫上面的例子,生成命令行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 titledataset, // datatrue, // include legendtrue,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 );} }保持PieChart.java文件中如上面的Java代碼,然后從命令提示符下編譯并運行它,如下所示:
$javac PieChart.java $java PieChart如果一切順利,它會編譯并運行在當前的目錄中創(chuàng)建JPEG圖像文件為namedPieChart.jpeg。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的JFreeChart(二)之饼图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 且行且珍惜出自 且行且珍惜出自哪里
- 下一篇: JFreeChart(三)之条形图