システムへの要望として、ある数値をグラフで表示したいということはよくありますが、自分で一からプログラミングしようと思うとなかなか大変な作業です。
本記事では、Javaで簡単にグラフが作れるツール「JFreeChart」の導入方法をご紹介していきます。
JFreeChartとは
JFreeChartは、グラフを描画するための機能が集められたJavaライブラリです。
JFreeChartで何が出来る?
JFreeChartでは、折れ線グラフや円グラフを始め、様々なグラフを作成することが出来ます。
グラフの表示に必要なデータを渡すだけで、高品質なグラフを簡単に表示することが可能です。
JFreeChartの導入
では実際にJFreeChartをダウンロードしてインストール作業まで実施してみましょう。
ダウンロード
まずはJFreeChartのダウンロードページにアクセスします。
緑色のボタン「Download Latest Version」をクリックします。
「jfreechart-1.0.19.zip」のような圧縮ファイルがダウンロードされますので、ダブルクリックで解凍します。
「jfreechart-1.0.19」フォルダが表示されるので、「lib」フォルダから「jcommon-x.x.xx.jar」と「jfreechart-x.x.xx.jar」の2つをアプリケーションをコピーしておきます。
プロジェクトへの読み込み
今回の開発環境はEclipseで、チャート描画用のプロジェクトとして「chart」プロジェクトを新規で作成しました。
プロジェクトの初期状態は画像のような構造になっています。
作成したプロジェクトに「lib」フォルダを作成します。
作成方法はプロジェクト名を右クリックして「新規」→「フォルダー」と選択し、名前を「lib」で作成しました。
先程コピーしていた2つのjarファイルを作成した「lib」フォルダーに格納します。
フォルダに格納しただけではまだ利用することが出来ないため、jarファイルを右クリックから「ビルド・パス」→「ビルドパスの追加」で参照出来る状態に設定します。
2つのjarファイルをビルドパスに追加すると、「参照ライブラリー」フォルダに指定したjarファイルが表示されているはずです。
これで外部ライブラリとしてJFreeChartを利用出来る環境が整いました。
JFreeChartで簡単なグラフを表示してみよう
これでJFreeChartが利用出来るはずなので、サンプルコードで実際にどのような表示が出来るのか確認していきます。
円グラフ
package chart; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.general.DefaultPieDataset; public class Main { public static void main(String args[]) { DefaultPieDataset dpd = new DefaultPieDataset(); dpd.setValue("10代", 10); dpd.setValue("20代", 25); dpd.setValue("30代", 30); dpd.setValue("40代", 20); dpd.setValue("50代", 15); JFreeChart chart = ChartFactory.createPieChart3D("イベント参加者", dpd, true, false, false); ChartFrame ch = new ChartFrame("サンプル円グラフ", chart); ch.setVisible(true); ch.setSize(600, 400); } }
実行すると下記画像のような円グラフを表示することが出来ます。
折れ線グラフ
package chart; import java.awt.BorderLayout; import javax.swing.JFrame; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; public class Main extends JFrame { public static void main(String args[]) { Main frame = new Main(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(10, 10,500, 500); frame.setTitle("折れ線グラフ"); frame.setVisible(true); } Main() { DefaultCategoryDataset dcd = new DefaultCategoryDataset(); dcd.addValue(100, "神奈川支店", "2019"); dcd.addValue(500, "神奈川支店", "2020"); dcd.addValue(600, "神奈川支店", "2021"); dcd.addValue(400, "大阪支店", "2019"); dcd.addValue(300, "大阪支店", "2020"); dcd.addValue(500, "大阪支店", "2021"); JFreeChart chart = ChartFactory.createLineChart("年度別売上", "年度", "万円", dcd, PlotOrientation.VERTICAL, true, false, false); ChartPanel ch = new ChartPanel(chart); getContentPane().add(ch, BorderLayout.CENTER); } }
実行すると下記のような折れ線グラフが表示されます。
さいごに: ライブラリを使ってJavaで簡単にグラフを表示してみよう
本記事では、Javaで簡単にグラフを表示させることが出来るライブラリ「JFreeChart」の導入方法についてご紹介してきました。
Javaでグラフ処理を一から作成しようと思うと、初心者でないJavaプログラマーといえども簡単ではなく、かなりの労力が必要となります。
一方で、今回ご紹介したようなJFreeChartライブラリを利用すれば簡単にグラフを作成することが出来るので、手軽にグラフを表示させたい方はぜひ活用してみてください。
Mac環境ではダブルクリックで解凍可能ですが、Windowsユーザーの方は適した解凍方法を選択してください。