ファイヤープロジェクト
XMLファイルからチャート生成のためのデータを読み込む(JFreechart 0.9.21)
2004-11-24T01:00+09:00   matsu
JFreeChartには,XMLファイルからチャート生成のためのデータを読み込むためのクラスがある.0.9.21ではCategoryDatasetとPieDatasetのみのサポートだが,Seriesもサポートされているようである.
XMLファイルからデータを読み込むクラスはorg.jfree.data.xml.DatasetReaderである.このクラスの使用方法は簡単である.以下にサンプルを示す.
ポイントは
  • DatasetReader#readCategoryDatasetFromXML
  • DatasetReader#readPieDatasetFromXML
である.それぞれXMLファイルのパス(String),Fileを引数にとる.これにより生成されたCategoryDatasetオブジェクトやPieDatasetオブジェクトは,サンプルのようにそのままチャートの生成に使用できる.
DatasetReaderを使用するうえで若干問題となったのは,XMLファイルである.DTDが見当たらないので,ソースを解析して以下のデータのサンプルを導き出した.
<CategoryDataset>
<Series name="Series1">
<Item><Key>Key11</Key><Value>11</Value></Item>
<Item><Key>Key12</Key><Value>12</Value></Item>
<Item><Key>Key13</Key><Value>13</Value></Item>
<Item><Key>Key14</Key><Value>14</Value></Item>
</Series>
<Series name="Series2">
<Item><Key>Key21</Key><Value>21</Value></Item>
<Item><Key>Key22</Key><Value>22</Value></Item>
<Item><Key>Key23</Key><Value>23</Value></Item>
<Item><Key>Key24</Key><Value>24</Value></Item>
</Series>
</CategoryDataset>
これを先のサンプルで読み込んでみた.
$ java -cp jfreechart-0.9.21.jar:jcommon-0.9.6.jar:gnujaxp.jar:./:$CLASSPATH SampleReadFromXML pie_sample.xml category
PieDatasetに関しても同様に作業してみた.といっても,ソースはCategoryDatasetの場合とPieDatasetの場合ではソースはほとんど重複している(※).
<PieDataset>
<Item><Key>Key11</Key><Value>11</Value></Item>
<Item><Key>Key12</Key><Value>12</Value></Item>
<Item><Key>Key13</Key><Value>13</Value></Item>
<Item><Key>Key14</Key><Value>14</Value></Item>
<Item><Key>Key21</Key><Value>21</Value></Item>
<Item><Key>Key22</Key><Value>22</Value></Item>
<Item><Key>Key23</Key><Value>23</Value></Item>
<Item><Key>Key24</Key><Value>24</Value></Item>
</PieDataset>
これを先のサンプルで読み込んでみた.
※ 意味や生成されるチャートがどうなるかは別として,ルート要素意外は同じコードである.
matsu(C)
Since 2002
Mail to matsu