JFreeChart - Giao diện tệp
Cho đến nay, chúng tôi đã nghiên cứu cách tạo các loại biểu đồ khác nhau bằng API JFreeChart bằng cách sử dụng dữ liệu tĩnh. Nhưng trong môi trường sản xuất, dữ liệu được cung cấp dưới dạng tệp văn bản với định dạng xác định trước, hoặc nó đến trực tiếp từ cơ sở dữ liệu.
Chương này sẽ giải thích - cách chúng ta có thể đọc một dữ liệu đơn giản từ một tệp văn bản nhất định từ một vị trí nhất định và sau đó sử dụng JFreeChart để tạo biểu đồ mà bạn chọn.
Dữ liệu kinh doanh
Hãy xem xét chúng tôi có một tệp có tên mobile.txt, có các thương hiệu điện thoại di động khác nhau và doanh số của chúng (đơn vị mỗi ngày) được phân tách bằng dấu phẩy đơn giản (,) -
Iphone 5S, 20
Samsung Grand, 20
MOTO G, 40 Nokia
Lumia, 10
Tạo biểu đồ dựa trên tệp
Sau đây là mã để tạo Biểu đồ hình tròn dựa trên thông tin được cung cấp trong 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);
}
}
Hãy để chúng tôi giữ mã Java ở trên PieChart_File.java tệp, sau đó biên dịch và chạy nó từ lệnh được nhắc là -
$javac PieChart_File.java
$java PieChart_File
Nếu mọi thứ đều ổn, nó sẽ biên dịch và chạy để tạo tệp ảnh JPEG có tên PieChart.jpeg có chứa biểu đồ sau.