JFreeChart - Antarmuka File

Sejauh ini kami telah mempelajari cara membuat berbagai jenis bagan menggunakan JFreeChart API menggunakan data statis. Namun dalam lingkungan produksi, data disediakan dalam bentuk file teks dengan format yang telah ditentukan, atau berasal langsung dari database.

Bab ini akan menjelaskan - bagaimana kita dapat membaca data sederhana dari file teks tertentu dari lokasi tertentu dan kemudian menggunakan JFreeChart untuk membuat bagan pilihan Anda.

Data Bisnis

Pertimbangkan kami memiliki file bernama mobile.txt, memiliki merek seluler yang berbeda dan penjualannya (unit per hari) yang dipisahkan dengan koma (,) -

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

Pembuatan Grafik Berdasarkan File

Berikut adalah kode untuk membuat Diagram Lingkaran berdasarkan informasi yang disediakan di 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); 
   }
}

Mari kita simpan kode Java di atas PieChart_File.java file, lalu kompilasi dan jalankan dari perintah yang diminta sebagai -

$javac PieChart_File.java  
$java PieChart_File

Jika semuanya baik-baik saja, itu akan mengkompilasi dan menjalankan untuk membuat file gambar JPEG bernama PieChart.jpeg yang berisi bagan berikut.