JFreeChart 3D Pie_Bar Chart


三维图表是以三维格式显示的图表。您可以使用这些图表来提供更好的显示和清晰的信息。三维饼图与饼图相同,具有很好的3D效果。3D效果可以通过添加一些额外的代码来实现,这将在饼图中创建3D效果。

3D饼图

考虑下面的例子来说明在3D饼图的帮助下的移动销售。以下是不同移动品牌及其销售(每天的单位)清单。

S.No 移动品牌 销售额(每天的单位数)
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饼图 -

JFreeChart PieChart3D

3D条形图

3D条形图与条形图相同,具有很好的3D效果。3D效果可以通过添加一些额外的代码来实现,这可以在条形图中创建3D效果。考虑下面的例子,在3D条形图的帮助下描绘各种汽车统计数据。以下是汽车品牌及其不同特征的列表,我们将使用条形图显示

汽车 速度 用户评分 Millage 安全
**FIAT** 1.0 3.0 5 5
**AUDI** 5 6 10.0 4
**FORD** 4 2.0 3.0 6

以下代码根据以上给出的信息创建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 -

JFreeChart 3D条形图