- JFreeChart 教程
- JFreeChart - 首頁
- JFreeChart - 概述
- JFreeChart - 安裝
- JFreeChart - 架構
- JFreeChart - 參考 API
- JFreeChart - 餅圖
- JFreeChart - 柱狀圖
- JFreeChart - 折線圖
- JFreeChart - XY 圖
- JFreeChart - 3D 圖表/柱狀圖
- JFreeChart- 氣泡圖
- JFreeChart - 時間序列圖
- JFreeChart - 檔案介面
- JFreeChart - 資料庫介面
- JFreeChart 有用資源
- JFreeChart - 快速指南
- JFreeChart - 有用資源
- JFreeChart - 討論
JFreeChart - 3D 餅圖/柱狀圖
3D 圖表是以三維格式顯示的圖表。您可以使用這些圖表來提供更好的顯示和清晰的資訊。3D 餅圖與餅圖相同,另外還具有漂亮的 3D 效果。可以透過新增少量額外的程式碼來實現 3D 效果,這些程式碼將負責在餅圖中建立 3D 效果。
3D 餅圖
考慮以下示例,以說明使用 3D 餅圖進行手機銷售。以下是不同手機品牌及其銷量(每天單位)的列表。
| 序號 | 手機品牌 | 銷量(每天單位) |
|---|---|---|
| 1 | Iphone 5S | 20 |
| 2 | 三星 Grand | 20 |
| 3 | MOTO G | 40 |
| 4 | 諾基亞 Lumia | 10 |
以下是根據以上資訊建立 3D 餅圖的程式碼。此程式碼可幫助您將餅圖嵌入任何基於 AWT 的應用程式中。
import java.io.*;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.chart.ChartUtilities;
public class PieChart3D {
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.createPieChart3D(
"Mobile Sales" , // chart title
dataset , // data
true , // include legend
true,
false);
final PiePlot3D plot = ( PiePlot3D ) chart.getPlot( );
plot.setStartAngle( 270 );
plot.setForegroundAlpha( 0.60f );
plot.setInteriorGap( 0.02 );
int width = 640; /* Width of the image */
int height = 480; /* Height of the image */
File pieChart3D = new File( "pie_Chart3D.jpeg" );
ChartUtilities.saveChartAsJPEG( pieChart3D , chart , width , height );
}
}
讓我們將以上 Java 程式碼儲存在 PieChart3D.java 檔案中,然後從命令提示符中編譯並執行它,如下所示:
$javac PieChart3D.java $java PieChart3D
如果一切正常,它將編譯並執行以建立一個名為 PieChart3D.jpeg 的 JPEG 影像檔案,其中包含以下 3D 餅圖:
3D 柱狀圖
3D 柱狀圖與柱狀圖相同,另外還具有漂亮的 3D 效果。可以透過新增少量額外的程式碼來實現 3D 效果,這些程式碼將負責在柱狀圖中建立 3D 效果。考慮以下示例,該示例使用 3D 柱狀圖描繪各種汽車統計資料。以下是汽車品牌及其不同特徵的列表,我們將使用柱狀圖顯示這些特徵:
| 汽車 | 速度 | 使用者評分 | 里程 | 安全性 |
|---|---|---|---|---|
| 菲亞特 | 1.0 | 3.0 | 5.0 | 5.0 |
| 奧迪 | 5.0 | 6.0 | 10.0 | 4.0 |
| 福特 | 4.0 | 2.0 | 3.0 | 6.0 |
以下程式碼根據以上資訊建立 3D 柱狀圖。此程式碼可幫助您將柱狀圖嵌入任何基於 AWT 的應用程式中。
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 BarChart3D {
public static void main( String[ ] args )throws Exception {
final String fait = "FAIT";
final String audi = "AUDI";
final String ford = "FORD";
final String speed = "Speed";
final String popular = "Popular";
final String mailage = "Mailage";
final String userrating = "User Rating";
final String safety = "safety";
final DefaultCategoryDataset dataset = new DefaultCategoryDataset( );
dataset.addValue( 1.0 , fait , speed );
dataset.addValue( 4.0 , fait , popular );
dataset.addValue( 3.0 , fait , userrating );
dataset.addValue( 5.0 , fait , mailage );
dataset.addValue( 5.0 , fait , safety );
dataset.addValue( 5.0 , audi , speed );
dataset.addValue( 7.0 , audi , popular );
dataset.addValue( 6.0 , audi , userrating );
dataset.addValue( 10.0 , audi , mailage );
dataset.addValue( 4.0 , audi , safety );
dataset.addValue( 4.0 , ford , speed );
dataset.addValue( 3.0 , ford , popular );
dataset.addValue( 2.0 , ford , userrating );
dataset.addValue( 3.0 , ford , mailage );
dataset.addValue( 6.0 , ford , safety );
JFreeChart barChart = ChartFactory.createBarChart3D(
"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 barChart3D = new File( "barChart3D.jpeg" );
ChartUtilities.saveChartAsJPEG( barChart3D, barChart, width, height);
}
}
讓我們將以上 Java 程式碼儲存在 BarChart3D.java 檔案中,然後從命令提示符中編譯並執行它,如下所示:
$javac BarChart3D.java $java BarChart3
如果您的環境一切正常,它將編譯並執行以建立一個名為 BarChart3D.jpeg 的 JPEG 影像檔案,其中包含以下 3D 柱狀圖:
廣告