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 ที่มีแผนภูมิต่อไปนี้