EspressChartでは複数のデータソースを読み込みし、チャートを生成できます。この機能はデータソースとなるファイルが複数に分かれている場合や、異なるデータベースをデータソースとして、一つのチャートを生成したい場合に便利です。
チャートデザイナーの場合は新規でチャートを作成する際のデータソースの指定で、一つ指定した後に「Get Other Data Source」で別のデータソースを指定してというように複数のデータソースを指定できます。

このチャートデザイナーで作成したテンプレートファイルを使用してQbChartコンストラクタでチャートを生成する際に、それに含まれるデータソースへの接続(参照)情報を利用できるのであれば、そのままチャートを生成できます。
しかし、別の環境でチャートを生成する場合など、別のデータソースを指定しなおす必要がある場合には、データソースを指定しなおす必要があります。ただ、これにはQbChartコンストラクタのみでは対応できず、setDataFileメソッドなどでデータソースを指定して場合、上書き扱いとなるため、1つのデータソースしか指定できません。
APIから読み込み場合には、上記の方法ではなく、DataSheetコンストラクタを利用します。
複数のデータソースをマージする機能を提供するクラスであり、これで各種データソースを読み込み、DataSheet配列をQbChartコンストラクタで使用することでAPIからも複数のデータソースを読み込み、チャートに適用できます。
使用例
//データソースのファイルパス
String dataFilePath1="./data/2020.txt";
String dataFilePath2="./data/2021.txt";
//DataSheetを作成
DataSheet dataSheet1= new DataSheet(parent, dataFilePath1 ,false);
DataSheet dataSheet2= new DataSheet(parent, dataFilePath2 ,false);
//配列にしてマージ
DataSheet[] dataSheet= {dataSheet1, dataSheet2};
//テンプレートファイルのパス
String templatePath = "./chart/multi.tpl";
//読み込み時に転置する列を指定する配列
int[] transposeCol = {1,2,4,5};
//読み込み時の列の対応付けを指定する配列
ColInfo cmap = new ColInfo();
cmap.series = 2;
cmap.category = 0;
cmap.value = 3;
//DataSheet配列をデータソースとしてチャートを作成
QbChart chart = new QbChart(parent,
QbChart.VIEW2D,
QbChart.COL,
dataSheet,
true,
transposeCol,
cmap,
templatePath);
上記の例では、2つのデータソースファイルを読み込み、マージ後のデータに対して転置を指定しています。
そうではなく、個別のDataSheetでメソッドを使用して行の追加(addRow)や削除(deleteRow)、更新(updateRow)、転置(transpose)なども実施できますので、データソースをDataSheetとして読み込み、個別に調整したあと、マージするといったことも可能です。
関連するトピックス:
- 複数のデータソースの利用 (Ver6.0)【Javaチャート・グラフ作成ツールEspressChart】
- Javaから直接データソースを指定する【Javaチャート・グラフ作成ツールEspressChart】
- クロス表からのグラフの作成【動的なWebチャートを作成・配信するJAVAツール:EspressChart】
- XMLとXBRLファイルからのデータ取得【Java対応レポート・帳票ツールEspressReport】
- Javaで作成したソースデータをチャートデザイナで使う方法
- Excelから任意のセルを指定して簡単にグラフを作成 – EspressChart
- 画像を用いた独自パターンの作成方法
- XMLファイルから天気予報のダッシュボードを作成② ―グラフ作成編―
- Salesforce(セールスフォース)からデータを取り込み、独自グラフ、レポート、ダッシュボードを作成, Webに展開
- EspressManager.shの文字コード設定について【Javaチャート・グラフ作成ツールEspressChart】

RSSフィードを取得する