<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>シンプルソフトの技術情報 &#187; JFreeChart</title>
	<atom:link href="http://www.simplesoft.co.jp/blog/tech/archives/tag/jfreechart/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplesoft.co.jp/blog/tech</link>
	<description>シンプルソフトの技術情報</description>
	<lastBuildDate>Wed, 07 Apr 2010 13:17:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>5.チャート要素の変更</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/14</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/14#comments</comments>
		<pubDate>Sat, 25 Nov 2006 09:30:15 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=14</guid>
		<description><![CDATA[さて、前回は最もシンプルと思われる棒グラフを描いてみましたが、サブタイトルをつけたい、売上高と経常利益の値に大きな差があるので、縦軸のメモリを別々にしたい、フォントを変えたいなど、実際に使うにあたってよく遭遇する見栄えの [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-selif; white-space: pre-wrap; ">さて、前回は最もシンプルと思われる棒グラフを描いてみましたが、サブタイトルをつけたい、売上高と経常利益の値に大きな差があるので、縦軸のメモリを別々にしたい、フォントを変えたいなど、実際に使うにあたってよく遭遇する見栄えのカスタマイズについて、触れたいと思います。</span></p>
<p><span id="more-14"></span><br />
<a name="subtitle"></a><br />
5.1　サブタイトルを追加<br />
棒グラフが2001年～2005年の売上高と経常利益を示すのは明白ですが、たとえば2003年に決算期変更を行い、売上高、経常利益ともに減っていたらどうでしょう？</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleSubTitle1.java">BarSampleSubTitle1</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_subtitle1.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_subtitle1.jpg" border="0" width="300"></a></p>
<p>上期と下期の業績が毎年均等ならまだマシですが、下期のほうにやや偏っている場合、あたかも極端な業績悪化のように見えてしまいます。</p>
<p>このようなとき、サブタイトルに2003年度がたとえば6ヶ月の決算であったことを明記しておけば、見る人にとって誤解を招きにくくなります。<br />
もちろん、Webサイトで公開するとき、見せるとき、画像のキャプションとして説明しておけば十分ですが、画像だけを保存された場合、画像として残っているチャートの数字のみが一人歩きすることも考えられます。<br />
せっかくですから、チャートに表示した内容の注釈はチャートの画像に埋め込んだほうが、見た人や画像ファイルをダウンロードした人も、あとになって忘れてしまうこともなく、よさそうです。</p>
<p>そのようなとき、チャートのタイトルに注釈を入れてもいいのですが、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>では、それ以外にサブタイトルを表示する機能がありますので、それを使ってみましょう。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleSubTitle2.java">BarSampleSubTitle2</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_subtitle2.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_subtitle2.jpg" border="0" width="300"></a></p>
<p>サブタイトルは、１つだけでなく複数定義することができ、BarSampleSubTitle2では、「2001-2005年度」と「（注：2003年は6ヶ月決算）」の２つが、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>におけるサブタイトルです。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_subtitle2.jpg">このデモ</a>を見て気づいた方もいるかもしれませんが、実はサブタイトルが表示される代わりに、凡例が消えてしまっています。これは、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が凡例をサブタイトルの一部、さらにいえば、一番最初（0番目）のサブタイトルとして凡例を扱っているためです。<br />
凡例を残したまま、サブタイトルを表示する方法は、このページの<a href="#demo">一番最後に示します</a>。</p>
<p>以下、同様ですが、基本的にソースの1行1行にコメントを書いたので、プログラムの解説はソースファイルを見てください。</p>
<p><a name="itemlabel"></a><br />
5.2　値を表示する<br />
チャートは値の変化を概観するのに最適ですが、正確な値も同時に知りたい場合があります。このようなとき、Microsoft Excelであればグラフのデータ系列のプロパティで、値のラベルを表示することができます。もちろん、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>でも、同じように値のラベルを表示できます。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleValue.java">BarSampleValue</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_value.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_value.jpg" border="0" width="300"></a></p>
<p><a name="dualaxis"></a><br />
5.3　別の目盛りを追加する<br />
棒グラフに表示した値を見ると、売上高と経常利益では10倍くらいの値の差があります。10倍くらいではまだマシなほうですが、2001年度の経常利益がいくらなのか、これではわかりません。<br />
そこで、縦軸にもうひとつ目盛りを追加し、値の範囲が大幅に異なる場合でも識別できるようにします。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleDualAxis.java">BarSampleDualAxis</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_dualaxis.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_dualaxis.jpg" border="0" width="300"></a></p>
<p>簡単かと思ったら、<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleDualAxis.java">BarSampleDualAxisのソース</a>を見るとわかりますが、データを２つに分け、ダミーデータ（ダミー１、ダミー２）を登録し、ダミーデータの凡例を表示しないようにしたりと、意外に面倒です。<br />
どんなライブラリを使うにしても、そのライブラリ固有のテクニック（技術力という意味ではなく、思い通りのことをするために必要な小細工）が必要になったりしますが、これはその類ですね。</p>
<p><a name="titlefont"></a><br />
5.4　タイトルのフォントを変更する<br />
<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が適当にレイアウト、文字の大きさを設定してくれるため、多くの場合デフォルトのままでも問題ないと思いますが、propertiesファイルやユーザの自由にフォントを変更できるようにしたアプリケーションの場合、思い通りにフォントを設定したくなるときがあります。<br />
サンプルプログラム <a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleChangeFont.java">BarSampleChangeFont</a> では、チャートのタイトル、凡例、縦横の軸のタイトル、軸の値のラベルのフォントを変えてみました。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleChangeFont.java">BarSampleChangeFont</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_titlefont.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_titlefont.jpg" border="0" width="300"></a></p>
<p>java.awt.Font オブジェクトのコンストラクタに指定するフォント名は、動作する環境によりもっといろいろ指定できると思いますが、最低限ということで、SanSerif、Serifのみのバリエーションのみとしています。<br />
（フォントとか、描画系の機能に弱いだけですが）</p>
<p><a name="demo"></a><br />
5.5　まとめると<br />
最後に、<a href="#subtitle">5.1</a>～<a href="#titlefont">5.4</a>までに行ったさまざまな設定をまとめて実行してみます。<br />
この中には、凡例を残したままサブタイトルを追加する方法も含めました。</p>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSampleDemo.java">BarSampleDemo</a><br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_demo.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample_demo.jpg" border="0" width="300"></a></p>
<p>棒グラフのサンプルを使って、いくつか見栄えを変更するサンプルを作りました。サンプルのソースファイルに中にも書きましたが、Plot、Legend、Datasetなど、そろそろ<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が表示するチャート、各部分の呼び名などを説明しないと、意味がわかりにくくなってきたと思います。</p>
<p>次回は、今後<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>を使い込む、拡張するために必要な<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>を構成するオブジェクトの名前を説明します。<br />
ただ、私も<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>の正式な教育を受けたわけでもはなく（そのようなものがあるかは知りませんが）、英語や英語圏での一般的な呼び名などをよくわかっていないため、誤った説明になる部分があるかもしれませんが、その点ご容赦ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A1.JFreeChart 1.0.3 リリース</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/13</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/13#comments</comments>
		<pubDate>Sat, 25 Nov 2006 09:20:50 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=13</guid>
		<description><![CDATA[ちょっと書くのを空けていたら、JFreeChart 1.0.3がリリースされていたようです。

NEWS（CHANGELOG.txtは2005/9/22から更新されていないので）を見ると、今回のリリースでは次のような改修 [...]]]></description>
			<content:encoded><![CDATA[<p>ちょっと書くのを空けていたら、<a href="http://www.jfree.org/jfreechart/">JFreeChart 1.0.3</a>がリリースされていたようです。</p>
<p><span id="more-13"></span><br />
NEWS（CHANGELOG.txtは2005/9/22から更新されていないので）を見ると、今回のリリースでは次のような改修が施されているようです。</p>
<ul>
<li>いくつかの新しいInternalXYDatasetの実装</li>
<li>パフォーマンスと正確性を向上させる期間（time periodはなんて訳せばいいのだろう？）クラスの重要なリファクタリング</li>
<li>データセット項目の再順序をサポートする円プロット（PiePlot）クラスへの変更</lI>
<li>マーカーを更新する新しいイベントメカニズム</li>
</ul>
<p>その他の拡張やバグ修正も行われていますが、詳しくは、jfreechart-1.0.3のCHANGELOG.txtではなく、NEWSファイルを参照してください。</p>
<p>また、jfreechart-1.0.3をダウンロードし、ファイルを展開すると1.0.2の頃にはなかったディレクトリが追加されています。このうち、experimentalディレクトリには、新しいダイアルプロットの実装が含まれています。ディレクトリ名のとおり、実験的な実装のようなです。1.0.2には含まれていなかったソースファイルもついてます。</p>
<h3>Dial Demo1</h3>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/dial_demo1.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/dial_demo1.jpg" border="0" width="300"></a></p>
<h3>Dial Demo2</h3>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/dial_demo2.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/dial_demo2.jpg" border="0" width="300"></a></p>
<p>ちなみに、同梱されるライブラリも次のように更新されています。</p>
<table border="1">
<tr bgcolor="lightblue">
<th>JFreeChart 1.0.2</th>
<th>JFreeChart 1.0.3</th>
</tr>
<tr>
<td>jcommon 1.0.5</td>
<td>jcommon 1.0.6</td>
</tr>
<tr>
<td>itext 1.4.3</td>
<td>itext 1.4.6</td>
</tr>
</table>
<p>
今後は、JFreeChart 1.0.3を使って書いていきますが、たぶん取り上げる内容は、1.0.2、1.0.3どちらで実行しても同じ結果になると思います。（違いが出るほど深くはできないと思いますので）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/13/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4.初めてのグラフ作成</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/12</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/12#comments</comments>
		<pubDate>Wed, 08 Nov 2006 14:40:39 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=12</guid>
		<description><![CDATA[最もシンプルと思われるグラフをJFreeChartを使って作ってみます。グラフをSwingで作ったフレーム内に表示することもできる（はず）ですが、今回はJPEG形式の画像ファイルとして保存してみます。
シンプルなだけに逆 [...]]]></description>
			<content:encoded><![CDATA[<p>最もシンプルと思われるグラフを<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>を使って作ってみます。グラフを<a href="http://java.sun.com/products/jfc/">Swing</a>で作ったフレーム内に表示することもできる（はず）ですが、今回はJPEG形式の画像ファイルとして保存してみます。</p>
<p>シンプルなだけに逆に実際には使わないかも知れませんが、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>を設定方法、説明を理解するのに好都合です。</p>
<p><span id="more-12"></span><br />
<a name="barsample1"></a><br />
4.1　棒グラフの作成（その１）<br />
　　ここでは年度ごとの売上高を棒グラフで表示する簡単なグラフを作ってみます。</p>
<pre>
public class BarSample1 {
public static void main(String[] args) {
</pre>
<p>　　ここまではどのプログラムでも同じです。</p>
<pre>
// データセットの作成
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
</pre>
<p>　　別のところで書こうと思いますが、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>では、グラフに描画するデータを<strong>Dataset</strong>というクラスに入れて管理します。<br />
　　ちなみに、日本では一般的にグラフといいますが、英語だとチャートと呼ぶので、単にグラフを示すときは今後チャートと記します。（棒グラフ、円グラフなどグラフの種類のことをいう場合には、棒チャートとは普通言わないので棒グラフのままにしますが、コンピュータサイエンスでグラフといえば、ノードとノードを結ぶ線の集まりになってしまうので）</p>
<p>　　さて本題ですが、例えば、売上高が次の表の数値であったとします。</p>
<table border="1">
<tr>
<td bgcolor="lightblue">年度</td>
<td>2001年</td>
<td>2002年</td>
<td>2003年</td>
<td>2004年</td>
<td>2005年</td>
</tr>
<tr>
<td bgcolor="lightblue">売上高（億円）</td>
<td>0.2</td>
<td>2.2</td>
<td>5.1</td>
<td>9.8</td>
<td>12.0</td>
</tr>
</table>
<p>　　データセットには次のようにセットします。</p>
<pre>
// 売上高を設定
dataset.addValue(0.2, "売上高", "2001年");
dataset.addValue(2.2, "売上高", "2002年");
dataset.addValue(5.1, "売上高", "2003年");
dataset.addValue(9.8, "売上高", "2004年");
dataset.addValue(12.0, "売上高", "2005年");
</pre>
<p>
　　<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/data/category/DefaultCategoryDataset.html#addValue:Number:Comparable:Comparable" target="_blank">dataset.addValue()</a>の引数は、左から&#8221;棒グラフに表示する数値&#8221;、&#8221;値の種類&#8221;、&#8221;普通のXY座標であれば、X軸方向のメモリの単位&#8221;、の順に指定します。</p>
<p>　　&#8221;棒グラフに表示する数値&#8221;は、チャートに表示する棒グラフの長さを決める数値です。チャートの向きを回転させない限りXY座標では縦軸になります。<br />
　　&#8221;値の種類&#8221;というとちょっとわかりにくいですね。今回は売上高という1種類の数値のみを棒グラフで表示しますが、売上高だけでなく利益も表示したり、販売管理費を表示するといったとき、売上高、利益、販売管理費といった&#8221;値の種類&#8221;を指定します。<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>用語？では、rowKeyと呼んでいます。<br />
　　&#8221;普通のXY座標であれば、X軸方向のメモリの単位&#8221;はチャートの向きを回転させない限りXY座標では横軸になり、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>用語？では、columnKeyと呼んでいます。私の感覚からするとrowとcolumnが逆に見えてしっくりこないのですが、たぶん私の感覚のほうがおかしいのでしょう。</p>
<p>　　　addValue(Number value, Comparable rowKey, Comparable columnKey);</p>
<p>　　つまり、rowKeyに同じ値を設定しておけば、同じ種類の値とみなされます。</p>
<p>　　続いて、チャートオブジェクトを作成します。<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>では、<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html" target="_blank">ChartFactory</a>クラスを使い、チャートオブジェクトのインスタンスを生成します。<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html" target="_blank">ChartFactory</a>では、どのような種類のチャートを作成するかにより、呼び出すメソッドが変わります。<br />
　　下の例では、棒グラフを作成するので、<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html#createBarChart:String:String:String:CategoryDataset:PlotOrientation:boolean:boolean:boolean" target="_blank">createBarChart()</a>を呼び出しています。</p>
<pre>
// 棒グラフのJFreeChartオブジェクトを生成
JFreeChart chart = ChartFactory.createBarChart(
"売上高",                // チャートのタイトル
"年度",                  // X 軸のタイトル
"億円",                  // Y 軸のタイトル
dataset,                 // 各系列のデータ
PlotOrientation.VERTICAL,// 縦置き（X 軸を横、Y 軸を縦に設定）
true,                   // 凡例を描画
false,                  // Tool Tips を表示しない
false                   // URLは生成しない
);
</pre>
<p>　　各引数の意味は、上記コードのコメントのとおりです。</p>
<p>　　<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html" target="_blank">ChartFactory</a>クラスには、<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html#createBarChart3D:String:String:String:CategoryDataset:PlotOrientation:boolean:boolean:boolean" target="_blank">3D棒グラフ-createBarChart3D()</a>（YXZという意味でなく単に立体的なグラフという意味での3Dです）、<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html#createLineChart:String:String:String:CategoryDataset:PlotOrientation:boolean:boolean:boolean" target="_blank">折れ線グラフ-createLineChart()</a>、<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html#createPieChart:String:PieDataset:boolean:boolean:boolean" target="_blank">円グラフ-createPieChart()</a>、さらに<a href="http://www.jfree.org/jfreechart/api/gjdoc/org/jfree/chart/ChartFactory.html#createGanttChart:String:String:String:IntervalCategoryDataset:boolean:boolean:boolean " target="_blank">ガントチャート-createGanttChart()</a>などもあります。</p>
<p>
　　そして、チャートオブジェクトを画像ファイルに書き出します。ファイルへの保存は、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>に用意されているユーティリティクラスを使えば簡単で、次のようになります。</p>
<pre>
// 画像ファイルへ出力
File outputFile = new File("bar_sample1.jpg");
try {
ChartUtilities.saveChartAsJPEG(outputFile, chart, 400, 400);
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
</pre>
<p>　　400&#215;400ピクセルのサイズを持ったJPEG形式の画像ファイルに保存します。<br />
　　最後のメソッドとクラスの定義を閉じます。</p>
<pre>
}
}
</pre>
<p><a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSample1.java">BarSample1</a>を実行した結果はこのようになります。<br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample1.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample1.jpg" border="0" width="300"></a></p>
<p>以上です。チャートを作成するために必要なのはこれだけで、あとは凡例の表示制御や各種ラベルのフォント、棒グラフの棒の色など、必要に応じて細かい設定を行えば、希望どおりのチャートを作成できます。<br />
参考までに <a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSample1.java" target="_blank">BarSample1のソースファイル</a>へのリンクを張っておきます。</p>
<p><a name="barsample2"></a><br />
4.2　棒グラフの作成（その２）<br />
　　<a href="#barsample1">4.1　棒グラフの作成（その１）</a>では、１種類の値の棒グラフを作成しましたが、次は2種類の値を表示するチャートを作成します。<br />
　　<a href="#barsample1">4.1　棒グラフの作成（その１）</a>が売上高でしたので、これに経常利益の表示を追加してみます。元の値は次の表のとおりです。</p>
<table border="1">
<tr>
<td bgcolor="lightblue">年度</td>
<td>2001年</td>
<td>2002年</td>
<td>2003年</td>
<td>2004年</td>
<td>2005年</td>
</tr>
<tr>
<td bgcolor="lightblue">売上高（億円）</td>
<td>0.2</td>
<td>2.2</td>
<td>5.1</td>
<td>9.8</td>
<td>12.0</td>
</tr>
<tr>
<td bgcolor="lightblue">経常利益（億円）</td>
<td>0.002</td>
<td>0.2</td>
<td>0.4</td>
<td>0.8</td>
<td>1.1</td>
</tr>
</table>
<p>
　　<a href="barsample1">4.1　棒グラフの作成（その１）</a>で作成したソースファイルに対する変更箇所はデータセットに売上高の値を設定した後、次のように経常利益の値を設定するだけです。</p>
<pre>
// 経常利益を設定
dataset.addValue(0.002, "経常利益", "2001年");
dataset.addValue(0.2, "経常利益", "2002年");
dataset.addValue(0.4, "経常利益", "2003年");
dataset.addValue(0.8, "経常利益", "2004年");
dataset.addValue(1.1, "経常利益", "2005年");
</pre>
<p>　　経常利益を追加したものを<a href="BarSample2.java">BarSample2</a>クラスとして定義します。<br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/BarSample2.java">BarSample2</a>を実行した結果はこのようになります。<br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample2.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/200611/bar_sample2.jpg" border="0" width="300"></a></p>
<p>次は、別の種類のチャートを作成し、データセット以外に系列（Series）やプロット（Plot）など、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>の構成要素を説明するか、今回作った棒グラフを使って、タイトル、サブタイトル、値のレンジが異なる軸の表示など、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>で作成するチャートに共通して使える操作の例を示すか、いづれかにしようと思います。</p>
<p>最初の予定とズレてきてますが&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/12/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3.JFreeChartインストールとデモ</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/11</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/11#comments</comments>
		<pubDate>Thu, 02 Nov 2006 00:59:32 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=11</guid>
		<description><![CDATA[さて、JFreeChartをインストールしてみます。
まだ、JDKをインストールしていなければ、JDK 1.3以降をインストールして置いてください。
特に理由がなければ、最新版（2006年11月2日時点で）のJDK 5. [...]]]></description>
			<content:encoded><![CDATA[<p>さて、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>をインストールしてみます。</p>
<p>まだ、JDKをインストールしていなければ、JDK 1.3以降をインストールして置いてください。<br />
特に理由がなければ、最新版（2006年11月2日時点で）のJDK 5.0 Update9をインストールすればいいでしょう。</p>
<p><span id="more-11"></span><br />
3.1 <a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のダウンロード<br />
　<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>の<a href="http://www.jfree.org/jfreechart/download.html">JFreeChart Download</a>からダウンロードします。実際には、<a href="http://sourceforge.net/">SourceForge.net</a>からのダウンロードになります。<br />
　
<ol>
　　
<li>JFreeChart　1.0.2</li>
<p>　　
<li>Documentation 　1.0.2</li>
<p>　　
<li>JCommon　　1.0.6</li>
<p>　</ol>
<p>　これら3つのファイルがダウンロードできますが、JCommonは<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が提供する<a href="http://www.jfree.org/jfreereport/index.php">JFreeReport</a>と共通のライブラリを定義したもので<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>だけを使うのであれば、単独でダウンロードしなくても<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>1.0.2の中に含まれています。<br />
　&#8221;Download&#8221;を選択し、zipか、tarかファイルを選び、ダウンロードサイトを選択すると（しなくてもしばらくたつと）選択したファイルのダウンロードが始まります。</p>
<p>　JFreeChart　1.0.2に加え、JFreeChartのAPIドキュメントであるDocumentation　1.0.2もダウンロードしておくといいと思います。（たしか、以前はJFreeChartのダウンロードファイルに含まれていましたが、<a href="http://www.jfree.org/jfreechart/api/gjdoc/">オンラインでも見れる</a>ので、不要な人は余計なものをダウンロードしなくて済みますね。</p>
<p>
3.2 <a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のインストール<br />
　さて、インストールといっても使いたいのはjarのライブラリなので、ダウンロードしたzip、またはtar.gzファイルを適当なディレクトリへ展開するだけで終わりです。</p>
<p>　以降の説明では、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>をインストールしたディレクトリを　<code>%JFREECHART_PATH%</code>　として表現します。</p>
<p>
3.3 <a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のデモ<br />
　<a href="http://www.simplesoft.co.jp/blog/tech/2006/10/jfreechart2.html">2.JFreeChartのデモ</a>では、<a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a>を使ってすぐに試せるデモを実行してみましたが、今度は<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>をインストールしたので、自分のPCでデモを実行してみます。<br />
　ここでは、OSにWindowsを使った例を示します。<br />
　コマンドプロンプトを開き、カレントディレクトリを<code>%JFREECHART_PATH%</code>に変更します。<br />
　そこで<br />
　<code>%JFREECHART_PATH%</code> > java -jar jfreechart-1.0.2-demo.jar<br />
　と実行すると、<a href="http://www.simplesoft.co.jp/blog/tech/2006/10/jfreechart2.html">2.JFreeChartのデモ</a>と同じようにSwingを使った<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のデモプログラムが表示されます。できることは<a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a>を使って実行したデモと全く同じですが、外出先などネットにつなげない環境でも実行できます。</p>
<p>　デモは豊富な例を見ることができるので、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>でどんなグラフが作れるのか見るのに最適です。<br />
　<br />
次は、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>を使ってグラフを作ってみます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2.JFreeChartのデモ</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/10</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/10#comments</comments>
		<pubDate>Tue, 31 Oct 2006 13:35:43 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=10</guid>
		<description><![CDATA[JFreeChartでどのようなグラフが作成できるか、デモを見るのが一番です。
デモは二通りの方法で実行できます。

2.1 Java Web Startを使ってデモを実行
　Javaには、必要なときにネット上からソフト [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: sans-selif; white-space: pre-wrap; ">JFreeChartでどのようなグラフが作成できるか、デモを見るのが一番です。<br />
デモは二通りの方法で実行できます。</span></p>
<p><span id="more-10"></span><br />
2.1 <a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a>を使ってデモを実行</p>
<p>　Javaには、必要なときにネット上からソフトをダウンロードして、常に最新版のソフトが実行されるようにする仕組み <a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a> があります。 <a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a>は、Java 2 SDK, Standard Edition v1.4以降であれば、JDKに含まれており、JDKさえインストールしておけば、いつでも利用できます。</p>
<p><a href="http://java.sun.com/j2se/1.5.0/ja/download.html">Java SE ダウンロード</a></p>
<p>JDKのインストール後、<a href="http://sdc.sun.co.jp/java/docs/products/javawebstart/ja/index_ja.html">Java Web Start</a>を使った<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のデモは、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>のトップページにある&#8221;JFreeChart Demo (web start)&#8221;というリンクをクリックすると、直ちにダウンロードが始まり、そのままデモの実行に移り、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が提供する様々なグラフを見ることができます。</p>
<p>2.2 <a href="http://www.jfree.org/jfreechart/">JFreeChart</a>をインストールして、デモをデモを実行</p>
<p>　これは次の「3.JFreeChartインストールとデモ」説明します。</p>
<p>さて、おそくらJFreeChartに興味を持った人は、既にYahoo!やGoogleで検索しているので、日本語の情報もそれなりに得ていると思いますが、ざっとここにまとめておこうと思います。</p>
<p>ネット上にある日本語のJFreeChart情報</p>
<p><a href="http://www.h7.dion.ne.jp/~matsu/feature/jfreechart/index.html">ファイヤープロジェクト-JFreeChart</a>（2004/02/07～2005/05/22）<br />
　サンプルコードが豊富です。</p>
<p><a href="http://www.atmarkit.co.jp/fjava/javatips/092jspservlet036.html">@IT-サーブレットでグラフを描く（JFreeChart活用）</a>（ 2004/10/19）<br />
　コンパクトにまとまった記事で、JFreeChartがどのようなものかの雰囲気をつかむのにいいです。</p>
<p><a href="http://www.thinkit.co.jp/free/tech/4/5/1.html">ThinkIt-第５回：JFreeChartでグラフ作成（前編）</a>（2005/4/1）<br />
　2回に分け、JFreeChartでできること、使い方を詳しく解説しています。</p>
<p><a href="http://journal.mycom.co.jp/news/2005/12/13/040.html">JFreeChart、JamVMやGNU Classpath、Cairoなど、OSSのみで動作</a>（2005/12/13）<br />
　いくつかの環境での動作検証結果がまとめられています。</p>
<p>
主だったところはこのようなところです。<br />
ただ、最後のMYCOMの記事は2005年末に書かれ、1.0.0をベースにした記事なので比較的新しい部類に入りますが、それ以外は2004年や2005年に書かれたものです。細かい点で 1.0.2 と違うところあるかもしれません。もっとも、基本的な部分はあまり変わっていないため、たぶんなさそうです。</p>
<p>ちなみに、デモを実行するとSource Codeというタブがあり、デモのソースが見れるのかと思って期待すると、JFreeChart Developer Guide（有償）の説明だったりする。<br />
<a href="http://www.simplesoft.co.jp/blog/tech/images/jfreechart_demo_menu.jpg"><img src="http://www.simplesoft.co.jp/blog/tech/images/jfreechart_demo_menu.jpg" alt="0" width="250"></a></p>
<p><a href="">JFreeChart Developer Guide</a>は、US$39.95で、以降１年間は無償で更新版の提供が受けられる。（自分でダウンロードしにいく必要があったかも知れない）<br />
１部購入したが、JDBCを使ったデータの取得、PDF、SVGへの出力についての記載はあるものの、たまたま私のプロジェクトで必要とする情報はあまり載っていなかったので、ちょっとイマイチ。ただ、デモのソースコードも同梱されているので、業務で使用する場合は妙なところで引っかかり、時間を消費するより、買ってしまったほうが早いかもしれない。</p>
<p><a href="http://www.object-refinery.com/jfreechart/guide.html">http://www.object-refinery.com/jfreechart/guide.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/10/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.JFreeChartの概要</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/9</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/9#comments</comments>
		<pubDate>Mon, 30 Oct 2006 14:47:50 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=9</guid>
		<description><![CDATA[JFreeChartは、非常に多くのグラフ形式をサポートしたグラフ作成ライブラリで、グラフを作成する元のデータの形式、出力形式をいろいろと選択可能です。

また、サーバサイド、クライアントサイド、どちらでも使用することが [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jfree.org/jfreechart/">JFreeChart</a>は、非常に多くのグラフ形式をサポートしたグラフ作成ライブラリで、グラフを作成する元のデータの形式、出力形式をいろいろと選択可能です。</p>
<p><span id="more-9"></span><br />
また、サーバサイド、クライアントサイド、どちらでも使用することができます。<br />
これだけだと、なんだかわからないので、ざっと列挙すると</p>
<h3><a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が描画可能なグラフの種類</h3>
<ol>
<li>円グラフ（Pie Chart）</li>
<li>棒グラフ（Bar Chart）</li>
<li>折れ線グラフ（Line Chart）</li>
<li>XYプロット（XY Plot）</li>
<li>時系列グラフ（Time Series Chart）</li>
<li>ヒストグラム</li>
<li>面グラフ（Area Chart）</li>
<li>偏差グラフ（Difference Chart）</li>
<li>ステップチャート</li>
<li>ガントチャート</li>
</ol>
<p>ざっとしたところは、<a href="http://www.jfree.org/jfreechart/samples.html">JFreeChartのsamplesページ</a>で見ることができます。</p>
<h3><a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が入力とすることが可能な（はずな）データソース</h3>
<ol>
<li>XMLファイル</li>
<li>JDBCを利用してデータベースから</li>
<li>CSVファイル</li>
<li>その他プログラムを作成すれば、任意のデータソースから</li>
</ol>
<p>（注）以前使ったときは、カスタム形式のファイルからグラフの描画に必用なデータを読み、1プロット、あるいは１データずつグラフを描画したため、これらのファイル、接続からの利用は試してません。</p>
<h3><a href="http://www.jfree.org/jfreechart/">JFreeChart</a>が出力可能な形式</h3>
<ol>
<li>PNG</li>
<li>JPEG</li>
<li>PDF</li>
<li>EPS</li>
<li>SVG</li>
</ol>
<p>（注）PNG、JPEG形式のファイルは作ったことがありますが、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>によれば、PDF、EPS、SVG形式も作成できるようなので、時間があればそのあたりもやってみます。</p>
<h2>JFreeChartの動作環境</h2>
<p>JFreeChart 1.0.2は、JDK 1.3以上を必用とし、Java 2D APIを使用します。</p>
<p>これから利用する場合はもちろん、この動作要件はいまではほとんど満たせると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/9/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JFreeChartの使い方</title>
		<link>http://www.simplesoft.co.jp/blog/tech/archives/8</link>
		<comments>http://www.simplesoft.co.jp/blog/tech/archives/8#comments</comments>
		<pubDate>Sun, 29 Oct 2006 14:55:55 +0000</pubDate>
		<dc:creator>h.akiike</dc:creator>
				<category><![CDATA[JFreeChart]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[LGPL]]></category>
		<category><![CDATA[グラフ]]></category>

		<guid isPermaLink="false">http://wptest.simplesoft.co.jp/blog/tech/?p=8</guid>
		<description><![CDATA[もう1年くらい前になりますが、ちょっと変わったグラフを表示するプロジェクトを手がけ、その際JFreeChartというLGPLでライセンスされているグラフ作成ライブラリを使いました。ペースは遅いと思いますが、せっかくなので [...]]]></description>
			<content:encoded><![CDATA[<p>もう1年くらい前になりますが、ちょっと変わったグラフを表示するプロジェクトを手がけ、その際<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>という<a href="http://ja.wikipedia.org/wiki/LGPL">LGPL</a>でライセンスされているグラフ作成ライブラリを使いました。ペースは遅いと思いますが、せっかくなので、<a href="http://www.jfree.org/jfreechart/">JFreeChart</a>の使い方をまとめておきます。<br />
（技術情報のサブタイトルにある「シンプルソフトが注目・注力する技術」からはちょっと外れるかもしれませんが&#8230;）<br />
厳格な基準でオープンソースと呼んでいいのかわかりませんが、ソースも参照可能です。</p>
<p><span id="more-8"></span><br />
私が使っていたバージョンは、jfreechart-1.0.0-pre2 で、少々バグがあったりもしましたが、使ったアプリケーションの範囲内では何とか回避可能で、他に妥当なライブラリもなかったため、そのまま使っています。</p>
<p>だいたい次のような内容を予定しています。</p>
<p>　1.<a href="http://www.simplesoft.co.jp/blog/tech/2006/10/30/jfreechart1/">JFreeChartの概要</a>（2006/10/30）<br />
　2.<a href="http://www.simplesoft.co.jp/blog/tech/2006/10/31/jfreechart2/">JFreeChartのデモ</a>（2006/10/31）<br />
　3.<a href="http://www.simplesoft.co.jp/blog/tech/2006/11/02/jfreechart3//">JFreeChartインストールとデモ</a>（2006/11/02）<br />
　4.<a href="/blog/tech/2006/11/jfreechart4.html">初めてのグラフ作成</a>（2006/11/08）<br />
　5.いろいろな出力方法<br />
　6.グラフの調整いろいろ<br />
　7.グラフのカスタマイズ</p>
<p>A1.<a href="/blog/tech/2006/11/jfreechart_a103.html">JFreeChart 1.0.3 リリース</a>（2006/11/25)</p>
<p>あとはまだあまり考えていませんが、できれば新しい種類のグラフの追加などにも触れられればと思います。</p>
<p>なお、使用するバージョンは2006年10月時点で最も新しい 1.0.2を使用します。</p>
<p>もし、記載内容に誤りや誤解を招く表現がありましたら、コメントしていただけると幸いです。<br />
また、間違いの指摘は大歓迎です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simplesoft.co.jp/blog/tech/archives/8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
