JFreeChart - wykres kołowy / słupkowy 3D

Wykresy 3D to te, które pojawiają się w formacie trójwymiarowym. Możesz użyć tych wykresów, aby zapewnić lepsze wyświetlanie i przejrzystość informacji. Wykres kołowy 3D jest taki sam jak wykres kołowy, dodatkowo z ładnym efektem 3D. Efekt 3D można uzyskać dodając trochę dodatkowego kodu, który zajmie się stworzeniem efektu 3D na wykresie kołowym.

Wykres kołowy 3D

Rozważ poniższy przykład, aby zilustrować sprzedaż mobilną za pomocą wykresu kołowego 3D. Poniżej znajduje się lista różnych marek telefonów komórkowych i ich sprzedaż (liczba jednostek dziennie).

S.No Marki mobilne Sprzedaż (UNITS dziennie)
1 Iphone 5s 20
2 Samsung Grand 20
3 MOTO G 40
4 Nokia Lumia 10

Poniżej znajduje się kod do tworzenia wykresu kołowego 3D na podstawie podanych powyżej informacji. Ten kod pomaga osadzić wykres kołowy w dowolnej aplikacji opartej na 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 );   
   }
}

Zachowajmy powyższy kod Java w pliku PieChart3D.java, a następnie skompilujmy i uruchommy go z polecenia wyświetlonego jako -

$javac PieChart3D.java  
$java PieChart3D

Jeśli wszystko jest w porządku, skompiluje się i uruchomi, aby utworzyć plik obrazu JPEG o nazwie PieChart3D.jpeg posiadający następujący wykres kołowy 3D -

Wykres słupkowy 3D

Wykres słupkowy 3D jest taki sam jak wykres słupkowy, dodatkowo z ładnym efektem 3D. Efekt 3D można uzyskać dodając trochę dodatkowego kodu, który zajmie się stworzeniem efektu 3D na wykresie słupkowym. Rozważmy następujący przykład, który przedstawia różne statystyki samochodów za pomocą wykresu słupkowego 3D. Poniżej znajduje się lista marek samochodów wraz z ich różnymi cechami, które pokażemy za pomocą wykresu słupkowego -

Samochód Prędkość Ocena użytkownika Młynek Bezpieczeństwo
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

Poniższy kod tworzy wykres słupkowy 3D na podstawie podanych powyżej informacji. Ten kod pomaga osadzić wykres słupkowy w dowolnej aplikacji opartej na 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);
   }
}

Zachowajmy powyższy kod Java w BarChart3D.java plik, a następnie skompiluj i uruchom go z wiersza polecenia jako -

$javac BarChart3D.java  
$java BarChart3

Jeśli wszystko jest w porządku z twoim środowiskiem, skompiluje się i uruchomi, aby utworzyć plik obrazu JPEG BarChart3D.jpeg posiadający następujący wykres słupkowy 3D -