JFreeChart - Dosya Arayüzü

Şimdiye kadar, statik verileri kullanarak JFreeChart API'lerini kullanarak çeşitli grafik türlerinin nasıl oluşturulacağını inceledik. Ancak üretim ortamında, veriler önceden tanımlanmış bir formatta metin dosyası biçiminde sağlanır veya doğrudan veritabanından gelir.

Bu bölüm, belirli bir konumdaki belirli bir metin dosyasından basit bir veriyi nasıl okuyabileceğimizi ve ardından seçtiğiniz bir grafiği oluşturmak için JFreeChart'ı nasıl kullanacağımızı açıklayacaktır.

İş verisi

Adlı bir dosyamız olduğunu düşünün mobile.txt, basit bir virgülle (,) ayrılmış farklı mobil markalara ve satışlarına (günlük birim) sahip -

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

Dosyaya Dayalı Grafik Oluşturma

Aşağıda, mobile.txt dosyasında sağlanan bilgilere göre Pasta Grafik oluşturma kodu verilmiştir -

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); 
   }
}

Yukarıdaki Java kodunu şurada tutalım: PieChart_File.java dosyasını açın ve ardından aşağıdaki gibi komut isteminde derleyin ve çalıştırın -

$javac PieChart_File.java  
$java PieChart_File

Her şey yolundaysa, adında bir JPEG görüntü dosyası oluşturmak için derlenecek ve çalıştırılacaktır. PieChart.jpeg aşağıdaki tabloyu içeren.