JFreeChart 3D餅圖/條形圖

三維/3D圖表是那些顯示在一個三維格式。可以使用這些圖表來提供更好的顯示效果和清晰的資訊。三維/3D餅圖是餅圖另外一個不錯的3D效果。 3D效果可以通過添加一些額外的代碼來實現,它會創建一個餅圖3D效果。

3D餅圖

請看下麵的例子來描述移動銷售三維餅圖。以下是不同移動品牌和銷售(每天)名單。

S.N. 手機品牌 銷量 (天)
1 Iphone 5S 20
2 Samsung Grand 20
3 MOTO G 40
4 Nokia 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 );
   }
}

讓我們保存在PieChart3D.java檔如上面的Java代碼,然後從命令提示符下編譯並運行它,如下所示:

$javac PieChart3D.java
$java PieChart3D

如果一切順利,它會編譯並運行,以創建一個名為PieChart3D.jpeg 如以下3D餅圖JPEG圖像檔:

JFreeChart PieChart3D

3D條形圖

三維條形圖是一樣的條形圖另外一個不錯的3D效果。 3D效果可以通過添加一些額外的代碼來實現,它會創建一個柱形圖3D效果。看看下麵的例子,描繪各種汽車的統計數據3D條形圖。以下是汽車品牌以及它們的不同特點,我們將展示使用一個條形圖的列表:

Car Speed User Rating Millage Safety
FIAT 1.0 3.0 5.0 5.o
AUDI 5.0 6.0 10.0 4.0
FORD 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 safty = "safty";
      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 , safty );
      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 , safty );
      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 , safty );
      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);
   }
}

讓我們保存在BarChart3D.java檔如上面的Java代碼,然後從命令提示符下編譯並運行它,如下所示:

$javac BarChart3D.java
$java BarChart3

如果一切正常,它會編譯並運行創建的JPEG圖像fileBarChart3D.jpeg,具有下列3D條形圖:

JFreeChart 3D Bar Chart
 

上一篇: JFreeChart XY圖 下一篇: JFreeChart氣泡圖表