JFreeChart - Grafico a torta / a barre 3D

I grafici 3D sono quelli che appaiono in un formato tridimensionale. È possibile utilizzare questi grafici per fornire una visualizzazione migliore e informazioni chiare. Un grafico a torta 3D è uguale al grafico a torta in aggiunta con un piacevole effetto 3D. Un effetto 3D può essere ottenuto aggiungendo un piccolo codice extra, che si occuperà della creazione di un effetto 3D in un grafico a torta.

Grafico a torta 3D

Considera il seguente esempio per illustrare la vendita da dispositivi mobili con l'aiuto di un grafico a torta 3D. Di seguito è riportato un elenco di diversi marchi di dispositivi mobili e la loro vendita (unità al giorno).

S.No Marche mobili Vendite (UNITÀ al giorno)
1 Iphone 5S 20
2 Samsung Grand 20
3 MOTO G 40
4 Nokia Lumia 10

Di seguito è riportato il codice per creare un grafico a torta 3D dalle informazioni fornite sopra. Questo codice ti aiuta a incorporare un grafico a torta in qualsiasi applicazione basata su 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 );   
   }
}

Manteniamo il codice Java sopra riportato nel file PieChart3D.java, quindi compilarlo ed eseguirlo dal comando richiesto come -

$javac PieChart3D.java  
$java PieChart3D

Se tutto va bene, verrà compilato ed eseguito per creare un file immagine JPEG denominato PieChart3D.jpeg con il seguente grafico a torta 3D -

Grafico a barre 3D

Un grafico a barre 3D è lo stesso del grafico a barre in aggiunta con un piacevole effetto 3D. Un effetto 3D può essere ottenuto aggiungendo un piccolo codice extra, che si occuperà di creare un effetto 3D in un grafico a barre. Considera il seguente esempio che descrive varie statistiche di auto con l'aiuto di un grafico a barre 3D. Di seguito è riportato un elenco di marchi automobilistici con le loro diverse caratteristiche, che mostreremo utilizzando un grafico a barre:

Macchina Velocità Voto dell'utente Millage Sicurezza
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

Il codice seguente crea un grafico a barre 3D dalle informazioni fornite sopra. Questo codice ti aiuta a incorporare un grafico a barre in qualsiasi applicazione basata su 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);
   }
}

Manteniamo il codice Java sopra in formato BarChart3D.java file, quindi compilarlo ed eseguirlo dal comando richiesto come -

$javac BarChart3D.java  
$java BarChart3

Se tutto va bene con il tuo ambiente, verrà compilato ed eseguito per creare un file immagine JPEG BarChart3D.jpeg con il seguente grafico a barre 3D -