Jfreechart-file-interface
提供:Dev Guides
JFreeChart-ファイルインターフェイス
これまで、静的データを使用してJFreeChart APIを使用してさまざまなタイプのチャートを作成する方法を学びました。 しかし、実稼働環境では、データは事前定義された形式のテキストファイルの形式で提供されるか、データベースから直接取得されます。
この章では、特定の場所から特定のテキストファイルから単純なデータを読み取り、JFreeChartを使用して選択したチャートを作成する方法について説明します。
ビジネスデータ
*mobile.txt* という名前のファイルがあるとします。このファイルには、単純なコンマ(、)で区切られた異なるモバイルブランドとその販売(1日あたりの単位)があります-
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画像ファイルが作成されます。