JFreeChart - Interface de fichier

Jusqu'à présent, nous avons étudié comment créer différents types de graphiques à l'aide des API JFreeChart à l'aide de données statiques. Mais dans un environnement de production, les données sont fournies sous forme de fichier texte avec un format prédéfini, ou elles proviennent directement de la base de données.

Ce chapitre explique - comment nous pouvons lire des données simples à partir d'un fichier texte donné à partir d'un emplacement donné, puis utiliser JFreeChart pour créer un graphique de votre choix.

Données d'entreprise

Considérez que nous avons un fichier nommé mobile.txt, ayant différentes marques mobiles et leur vente (unités par jour) séparées par une simple virgule (,) -

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

Génération de graphiques basée sur le fichier

Voici le code pour créer un graphique à secteurs basé sur les informations fournies dans 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); 
   }
}

Gardons le code Java ci-dessus dans PieChart_File.java fichier, puis compilez et exécutez-le à partir de la commande invitée comme -

$javac PieChart_File.java  
$java PieChart_File

Si tout va bien, il sera compilé et exécuté pour créer un fichier image JPEG nommé PieChart.jpeg qui contient le graphique suivant.