- 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 | 三星大酒店 | 20 |
3 | 摩托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
如果您的环境一切正常,它将编译并运行以创建具有以下 3D 条形图的JPEG 图像文件BarChart3D.jpeg -