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 -