До сих пор мы изучали, как создавать различные типы диаграмм, используя API JFreeChart, используя статические данные. Но в производственной среде данные предоставляются в виде текстового файла в предопределенном формате или поступают непосредственно из базы данных.
В этой главе будет объяснено — как мы можем прочитать простые данные из данного текстового файла из заданного местоположения, а затем использовать JFreeChart для создания диаграммы по вашему выбору.
Бизнес-данные
Предположим , у нас есть файл с именем mobile.txt , в котором указаны разные бренды мобильных устройств и их продажи (в день), разделенные простой запятой (,) —
Iphone 5S, 20 Samsung Grand, 20 MOTO G, 40 Nokia Lumia, 10
Генерация диаграммы на основе файла
Ниже приведен код для создания круговой диаграммы на основе информации, представленной в 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); } }
Давайте сохраним приведенный выше Java-код в файле PieChart_File.java , а затем скомпилируем и запустим его из команды, отображаемой как —
$javac PieChart_File.java $java PieChart_File
Если все в порядке, он скомпилируется и запустится для создания файла изображения JPEG с именем PieChart.jpeg, который содержит следующую диаграмму.