位置:首頁 > Java技術 > JFreeChart教學 > JFreeChart文件接口

JFreeChart文件接口

到目前為止,我們學習了如何使用靜態數據的創建不同類型的JFreeChart API圖表。但在生產環境中,數據被設置在文本文件的形式與一個預定義的格式,或者其直接來自數據庫。

本章將解釋如何我們可以看到從一個給定的位置給定的文本文件,一個簡單的數據,然後使用JFreeChart創建圖表。

業務數據

假設我們有一個文件名為mobile.txt,含有一個簡單的逗號分隔不同的移動品牌和銷售(每天單位)(,):

Iphone 5S, 20  
Samsung Grand, 20  
MOTO G, 40  Nokia 
Lumia, 10 

基於文件圖表生成

下麵是基於文件 mobile.txt 提供的信息來創建一個餅圖的代碼:

import java.io.*; 
import java.util.StringTokenizer; 
import org.jfree.chart.ChartUtilities; 
import org.jfree.chart.ChartFactory; 
import org.jfree.chart.JFreeChart; 
import org.jfree.data.general.DefaultPieDataset;

public class PieChart_File 
{
   public static void main( String[ ] args )throws Exception
   {
      String mobilebrands[ ] = {    
        "IPhone 5s" ,   
        "SamSung Grand" ,   
        "MotoG" ,    
        "Nokia Lumia" 
      };
      
      InputStream in = new FileInputStream( new File( "C:/temp/test.txt" ) );          
      BufferedReader reader = new BufferedReader(new InputStreamReader(in ) );          
      StringBuilder out = new StringBuilder();          
      String line;          
      DefaultPieDataset dataset = new DefaultPieDataset();          

      while (( line = reader.readLine() ) != null ) 
      {
         out.append( line );
      }
      StringTokenizer s = new StringTokenizer( out.toString(), "," );
      int i=0;      
      while( s.hasMoreTokens( ) && ( mobilebrands [i] != null ) )
      {
         dataset.setValue(mobilebrands[i], Double.parseDouble( s.nextToken( ) ));
         i++;
      }
      JFreeChart chart = ChartFactory.createPieChart( 
         "Mobile Sales",  // chart title           
         dataset,         // data           
         true,            // include legend           
         true,           
         false);
      
      int width = 560; /* Width of the image */          
      int height = 370; /* Height of the image */                          
      File pieChart = new File( "pie_Chart.jpeg" );                        
      ChartUtilities.saveChartAsJPEG( pieChart, chart, width, height); 
   }
}

讓我們保存上麵的Java代碼在PieChart_File.java文件,然後從命令提示符下編譯並運行它,如下所示:

$javac PieChart_File.java 
$java PieChart_File 

如果一切順利,它會編譯並運行以創建包含下麵的圖表名為PieChart.jpegthat JPEG圖像文件。

JFreeChart File Interface