JFreeChart - Biểu đồ hình tròn
Trong biểu đồ hình tròn, độ dài cung của mỗi cung tỷ lệ với số lượng mà nó biểu diễn. Chương này giải thích - cách chúng ta có thể sử dụng JFreeChart để tạoPie Chart từ một tập hợp dữ liệu kinh doanh nhất định.
Dữ liệu kinh doanh
Ví dụ sau đây mô tả hoạt động bán hàng trên thiết bị di động với sự trợ giúp của biểu đồ hình tròn. Sau đây là danh sách các thương hiệu di động khác nhau và lượng bán của chúng (đơn vị mỗi ngày).
S. không | Thương hiệu Di động | Bán hàng (UNITS mỗi ngày) |
---|---|---|
1 | Iphone 5s | 20 |
2 | Samsung Grand | 20 |
3 | MOTO G | 40 |
4 | Nokia Lumia | 10 |
Ứng dụng dựa trên AWT
Sau đây là mã để tạo Biểu đồ hình tròn bằng cách sử dụng thông tin đã cho ở trên. Mã này giúp bạn nhúng biểu đồ hình tròn vào bất kỳ ứng dụng dựa trên AWT nào.
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class PieChart_AWT extends ApplicationFrame {
public PieChart_AWT( String title ) {
super( title );
setContentPane(createDemoPanel( ));
}
private static PieDataset createDataset( ) {
DefaultPieDataset dataset = new DefaultPieDataset( );
dataset.setValue( "IPhone 5s" , new Double( 20 ) );
dataset.setValue( "SamSung Grand" , new Double( 20 ) );
dataset.setValue( "MotoG" , new Double( 40 ) );
dataset.setValue( "Nokia Lumia" , new Double( 10 ) );
return dataset;
}
private static JFreeChart createChart( PieDataset dataset ) {
JFreeChart chart = ChartFactory.createPieChart(
"Mobile Sales", // chart title
dataset, // data
true, // include legend
true,
false);
return chart;
}
public static JPanel createDemoPanel( ) {
JFreeChart chart = createChart(createDataset( ) );
return new ChartPanel( chart );
}
public static void main( String[ ] args ) {
PieChart_AWT demo = new PieChart_AWT( "Mobile Sales" );
demo.setSize( 560 , 367 );
RefineryUtilities.centerFrameOnScreen( demo );
demo.setVisible( true );
}
}
Hãy để chúng tôi giữ mã Java ở trên PieChart_AWT.java tệp, sau đó biên dịch và chạy nó từ lệnh được nhắc là -
$javac PieChart_AWT.java
$java PieChart_AWT
Nếu mọi thứ đều ổn, nó sẽ biên dịch và chạy để tạo Biểu đồ hình tròn sau:
Nếu bạn không cần nhúng biểu đồ của mình vào bất kỳ ứng dụng nào, thì bạn có thể tạo hình ảnh biểu đồ tại dấu nhắc lệnh. JFreeChart cho phép bạn lưu hình ảnh biểu đồ ở định dạng JPG hoặc PNG.
Tạo ảnh JPEG
Chúng ta hãy viết lại ví dụ trên để tạo ảnh JPEG từ một dòng lệnh. Sau đây là hai API do thư viện JFreeChart cung cấp, bạn có thể sử dụng để tạo hình ảnh PNG hoặc JPEG theo yêu cầu của mình.
saveChartAsPNG() - API để lưu hình ảnh ở định dạng PNG.
saveChartAsJPEG() - API để lưu ảnh ở định dạng JPEG.
import java.io.*;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class PieChart {
public static void main( String[ ] args ) throws Exception {
DefaultPieDataset dataset = new DefaultPieDataset( );
dataset.setValue("IPhone 5s", new Double( 20 ) );
dataset.setValue("SamSung Grand", new Double( 20 ) );
dataset.setValue("MotoG", new Double( 40 ) );
dataset.setValue("Nokia Lumia", new Double( 10 ) );
JFreeChart chart = ChartFactory.createPieChart(
"Mobile Sales", // chart title
dataset, // data
true, // include legend
true,
false);
int width = 640; /* Width of the image */
int height = 480; /* Height of the image */
File pieChart = new File( "PieChart.jpeg" );
ChartUtilities.saveChartAsJPEG( pieChart , chart , width , height );
}
}
Hãy để chúng tôi giữ mã Java ở trên PieChart.java tệp, sau đó biên dịch và chạy nó từ lệnh được nhắc là -
$javac PieChart.java
$java PieChart
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 trong thư mục hiện tại của bạn.