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.jpeg 的JPEG图像文件,其中包含以下图表。

JFreeChart文件接口