JFreeChart – gráfico circular / de barras 3D

Los gráficos 3D son aquellos que se muestran en formato 3D. Puede utilizar estos gráficos para una mejor visualización e información clara. Un gráfico circular 3D es lo mismo que un gráfico circular, pero con un bonito efecto 3D. Se puede lograr un efecto tridimensional agregando un pequeño código adicional que se encarga de crear un efecto tridimensional en el gráfico circular.

Gráfico circular 3d

Considere el siguiente ejemplo para ilustrar las ventas móviles mediante un gráfico circular en 3D. A continuación se muestra una lista de varias marcas de dispositivos móviles y sus ventas (unidades por día).

S. No Marcas de móviles Ventas (UNIDADES por día)
uno iphone 5c 20
2 Samsung Grand 20
3 MOTO G 40
cuatro Nokia Lumiya diez

A continuación se muestra el código para crear un gráfico circular 3D a partir de la información anterior. Este código ayuda a incrustar 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 );   
   }
}

Guardemos el código Java anterior en un archivo PieChart3D.java y luego compilemos y ejecutemos desde el comando sugerido como –

$javac PieChart3D.java  
$java PieChart3D 

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

JFreeChart PieChart3D

Histograma 3D

Un gráfico de barras 3D es lo mismo que un gráfico de barras, pero con un bonito efecto 3D. Se puede lograr un efecto 3D agregando un pequeño código adicional que se encarga de crear un efecto 3D en el histograma. Considere el siguiente ejemplo, que muestra varias estadísticas de vehículos usando un gráfico de barras 3D. A continuación se muestra una lista de marcas de automóviles con sus diferentes características, que mostraremos mediante un gráfico de barras.

Auto Velocidad Opiniones de los usuarios Millage Seguridad
FÍAT 1.0 3,0 5,0 5,0
AUDI 5,0 6.0 10.0 4.0
VADO 4.0 2.0 3,0 6.0

El siguiente código crea un histograma 3D basado en la información anterior. Este código le ayudará a insertar 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);
   }
}

Guardemos el código Java anterior en BarChart3D.java y luego compílelo y ejecútelo desde el comando sugerido 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 que tiene el siguiente histograma 3D –

Gráfico de barras 3D de JFreeChart

🚫