JFreeChart - Gráfico circular / de barras 3D

Los gráficos 3D son los que aparecen en formato tridimensional. Puede utilizar estos gráficos para proporcionar una mejor visualización e información clara. Un gráfico circular 3D es igual que el gráfico circular, además, con un bonito efecto 3D. Se puede lograr un efecto 3D agregando un poco de código adicional, que se encargará de crear un efecto 3D en un gráfico circular.

Gráfico circular 3D

Considere el siguiente ejemplo para ilustrar la venta móvil con la ayuda de un gráfico circular 3D. A continuación se muestra una lista de diferentes marcas de dispositivos móviles y su venta (unidades por día).

S. No Marcas móviles Ventas (UNIDADES por día)
1 Iphone 5s 20
2 Samsung Grand 20
3 MOTO G 40
4 Nokia Lumia 10

A continuación se muestra el código para crear un gráfico circular 3D a partir de la información proporcionada anteriormente. Este código le ayuda a integrar un gráfico circular en cualquier aplicación basada en 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 );   
   }
}

Mantengamos el código Java anterior en el archivo PieChart3D.java, y luego compílelo y ejecútelo desde el comando solicitado como -

$javac PieChart3D.java  
$java PieChart3D

Si todo está bien, se compilará y se ejecutará para crear un archivo de imagen JPEG llamado PieChart3D.jpeg con el siguiente gráfico circular 3D:

Gráfico de barras 3D

Un gráfico de barras 3D es igual que el gráfico de barras, además, con un bonito efecto 3D. Se puede lograr un efecto 3D agregando un pequeño código adicional, que se encargará de crear un efecto 3D en un gráfico de barras. Considere el siguiente ejemplo que muestra varias estadísticas de automóviles con la ayuda de un gráfico de barras 3D. A continuación se muestra una lista de marcas de automóviles junto con sus diferentes características, que mostraremos mediante un gráfico de barras:

Coche Velocidad Opiniones de los usuarios Millage La seguridad
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

El siguiente código crea un gráfico de barras 3D a partir de la información proporcionada anteriormente. Este código le ayuda a incrustar un gráfico de barras en cualquier aplicación basada en 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);
   }
}

Mantengamos el código Java anterior en BarChart3D.java archivo, y luego compílelo y ejecútelo desde el comando solicitado como -

$javac BarChart3D.java  
$java BarChart3

Si todo está bien con su entorno, se compilará y ejecutará para crear un archivo de imagen JPEG BarChart3D.jpeg teniendo el siguiente gráfico de barras 3D -