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

หากทุกอย่างเรียบร้อยดีก็จะรวบรวมและเรียกใช้เพื่อสร้างไฟล์ภาพ JPEG ที่ชื่อ PieChart.jpeg ที่มีแผนภูมิต่อไปนี้