- JFreeChart 教程
- JFreeChart - 主页
- JFreeChart - 概览
- JFreeChart - 安装
- JFreeChart - 架构
- JFreeChart - 引用的 API
- JFreeChart - 饼形图
- JFreeChart - 条形图
- JFreeChart - 折线图
- JFreeChart - XY 图
- JFreeChart - 3D 图/条形图
- JFreeChart- 气泡图
- JFreeChart - 时间序列图
- JFreeChart - 文件界面
- JFreeChart - 数据库接口
- JFreeChart 有用资源
- JFreeChart - 快速指南
- JFreeChart - 有用资源
- JFreeChart - 讨论
JFreeChart - 文件界面
到目前为止,我们已经学习了如何使用 JFreeChart API 使用静态数据创建各种类型的图表。但是,在生产环境中,数据将以预定义格式的文本文件形式提供,或者直接来自数据库。
本章将解释如何从给定位置的给定文本文件中读取简单数据,然后使用 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
如果一切正常,它将编译并运行,创建一个名为 **PieChart.jpeg** 的 JPEG 图像文件,其中包含以下图表。
广告