JFreeChart - Interfaz de archivo
Hasta ahora hemos estudiado cómo crear varios tipos de gráficos utilizando las API de JFreeChart utilizando datos estáticos. Pero en el entorno de producción, los datos se proporcionan en forma de archivo de texto con un formato predefinido o provienen directamente de la base de datos.
Este capítulo explicará cómo podemos leer datos simples de un archivo de texto dado desde una ubicación determinada y luego usar JFreeChart para crear un gráfico de su elección.
Datos comerciales
Considere que tenemos un archivo llamado mobile.txt, tener diferentes marcas de dispositivos móviles y su venta (unidades por día) separadas por una simple coma (,) -
Iphone 5S, 20
Samsung Grand, 20
MOTO G, 40 Nokia
Lumia, 10
Generación de gráficos basados en archivos
A continuación se muestra el código para crear un gráfico circular basado en la información proporcionada en mobile.txt:
import java.io.*;
import java.util.StringTokenizer;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class PieChart_File {
public static void main( String[ ] args )throws Exception {
String mobilebrands[ ] = {
"IPhone 5s" ,
"SamSung Grand" ,
"MotoG" ,
"Nokia Lumia"
};
InputStream in = new FileInputStream( new File( "C:/temp/test.txt" ) );
BufferedReader reader = new BufferedReader(new InputStreamReader(in ) );
StringBuilder out = new StringBuilder();
String line;
DefaultPieDataset dataset = new DefaultPieDataset();
while (( line = reader.readLine() ) != null ) {
out.append( line );
}
StringTokenizer s = new StringTokenizer( out.toString(), "," );
int i = 0;
while( s.hasMoreTokens( ) && ( mobilebrands [i] != null ) ) {
dataset.setValue(mobilebrands[i], Double.parseDouble( s.nextToken( ) ));
i++;
}
JFreeChart chart = ChartFactory.createPieChart(
"Mobile Sales", // chart title
dataset, // data
true, // include legend
true,
false);
int width = 560; /* Width of the image */
int height = 370; /* Height of the image */
File pieChart = new File( "pie_Chart.jpeg" );
ChartUtilities.saveChartAsJPEG( pieChart, chart, width, height);
}
}
Mantengamos el código Java anterior en PieChart_File.java archivo, y luego compílelo y ejecútelo desde el comando solicitado como -
$javac PieChart_File.java
$java PieChart_File
Si todo está bien, se compilará y se ejecutará para crear un archivo de imagen JPEG llamado PieChart.jpeg que contiene la siguiente tabla.