JFreeChart - แผนภูมิแท่ง
บทนี้แสดงให้เห็นถึงวิธีที่คุณสามารถใช้ JFreeChart เพื่อสร้าง Bar Chart จากชุดข้อมูลธุรกิจที่กำหนด
แผนภูมิแท่งใช้แถบการวางแนวที่แตกต่างกัน (แนวนอนหรือแนวตั้ง) เพื่อแสดงการเปรียบเทียบในหมวดหมู่ต่างๆ แกนหนึ่ง (แกนโดเมน) ของแผนภูมิแสดงโดเมนเฉพาะที่กำลังเปรียบเทียบและอีกแกน (แกนช่วง) แสดงค่าที่ไม่ต่อเนื่อง
ข้อมูลธุรกิจ
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงสถิติต่างๆของรถยนต์โดยใช้แผนภูมิแท่ง ต่อไปนี้เป็นรายชื่อยี่ห้อรถยนต์พร้อมคุณสมบัติที่แตกต่างกันซึ่งเราจะแสดงโดยใช้แผนภูมิแท่ง -
รถยนต์ | ความเร็ว | คะแนนของผู้ใช้ | มิลเลจ | ความปลอดภัย |
---|---|---|---|---|
Fiat | 1.0 | 3.0 | 5.0 | 5.0 |
Audi | 5.0 | 6.0 | 10.0 | 4.0 |
Ford | 4.0 | 2.0 | 3.0 | 6.0 |
แอปพลิเคชันที่ใช้ AWT
ต่อไปนี้เป็นรหัสสำหรับสร้างแผนภูมิแท่งจากข้อมูลที่ระบุข้างต้น รหัสนี้ช่วยให้คุณฝังแผนภูมิแท่งในแอปพลิเคชันที่ใช้ AWT
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class BarChart_AWT extends ApplicationFrame {
public BarChart_AWT( String applicationTitle , String chartTitle ) {
super( applicationTitle );
JFreeChart barChart = ChartFactory.createBarChart(
chartTitle,
"Category",
"Score",
createDataset(),
PlotOrientation.VERTICAL,
true, true, false);
ChartPanel chartPanel = new ChartPanel( barChart );
chartPanel.setPreferredSize(new java.awt.Dimension( 560 , 367 ) );
setContentPane( chartPanel );
}
private CategoryDataset createDataset( ) {
final String fiat = "FIAT";
final String audi = "AUDI";
final String ford = "FORD";
final String speed = "Speed";
final String millage = "Millage";
final String userrating = "User Rating";
final String safety = "safety";
final DefaultCategoryDataset dataset =
new DefaultCategoryDataset( );
dataset.addValue( 1.0 , fiat , speed );
dataset.addValue( 3.0 , fiat , userrating );
dataset.addValue( 5.0 , fiat , millage );
dataset.addValue( 5.0 , fiat , safety );
dataset.addValue( 5.0 , audi , speed );
dataset.addValue( 6.0 , audi , userrating );
dataset.addValue( 10.0 , audi , millage );
dataset.addValue( 4.0 , audi , safety );
dataset.addValue( 4.0 , ford , speed );
dataset.addValue( 2.0 , ford , userrating );
dataset.addValue( 3.0 , ford , millage );
dataset.addValue( 6.0 , ford , safety );
return dataset;
}
public static void main( String[ ] args ) {
BarChart_AWT chart = new BarChart_AWT("Car Usage Statistics",
"Which car do you like?");
chart.pack( );
RefineryUtilities.centerFrameOnScreen( chart );
chart.setVisible( true );
}
}
ให้เราเก็บโค้ด Java ด้านบนไว้ BarChart_AWT.java จากนั้นคอมไพล์และเรียกใช้จากคำสั่งที่พร้อมต์เป็น -
$javac BarChar_AWT.java
$java BarChart_AWT
ถ้าทุกอย่างเรียบร้อยมันจะคอมไพล์และรันเพื่อสร้าง Bar Graph ต่อไปนี้ -
การสร้างภาพ JPEG
ให้เราเขียนตัวอย่างด้านบนอีกครั้งเพื่อสร้างภาพ JPEG จากบรรทัดคำสั่ง
import java.io.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.ChartUtilities;
public class BarChart {
public static void main( String[ ] args )throws Exception {
final String fiat = "FIAT";
final String audi = "AUDI";
final String ford = "FORD";
final String speed = "Speed";
final String millage = "Millage";
final String userrating = "User Rating";
final String safety = "safety";
final DefaultCategoryDataset dataset = new DefaultCategoryDataset( );
dataset.addValue( 1.0 , fiat , speed );
dataset.addValue( 3.0 , fiat , userrating );
dataset.addValue( 5.0 , fiat , millage );
dataset.addValue( 5.0 , fiat , safety );
dataset.addValue( 5.0 , audi , speed );
dataset.addValue( 6.0 , audi , userrating );
dataset.addValue( 10.0 , audi , millage );
dataset.addValue( 4.0 , audi , safety );
dataset.addValue( 4.0 , ford , speed );
dataset.addValue( 2.0 , ford , userrating );
dataset.addValue( 3.0 , ford , millage );
dataset.addValue( 6.0 , ford , safety );
JFreeChart barChart = ChartFactory.createBarChart(
"CAR USAGE STATIStICS",
"Category", "Score",
dataset,PlotOrientation.VERTICAL,
true, true, false);
int width = 640; /* Width of the image */
int height = 480; /* Height of the image */
File BarChart = new File( "BarChart.jpeg" );
ChartUtilities.saveChartAsJPEG( BarChart , barChart , width , height );
}
}
ให้เราเก็บโค้ด Java ด้านบนไว้ในไฟล์ BarChart.java จากนั้นคอมไพล์และเรียกใช้จากคำสั่งที่แจ้งเป็น -
$javac BarChart.java
$java BarChart
หากทุกอย่างเรียบร้อยดีก็จะรวบรวมและเรียกใช้เพื่อสร้างไฟล์ภาพ JPEG ที่ชื่อ BarChart.jpeg ในไดเรกทอรีปัจจุบันของคุณ