Espressシリーズ (Quadbase)製品では、チャート、レポート、マップを作成し、ダッシュボードに個別に、あるいはグループ化して公開することができます。
これらのテンプレートはすべて、GUIアプリケーションによる手動作成、またはAPIによるJavaコードでのプログラム作成のいずれでも可能です。
Espressシリーズ製品は様々なデータソースを内部でサポートしていますが、それらはJavaオブジェクトをデータソースとして使用できるため、事実上あらゆるデータが製品のデータソースとなり得ます。
ここでは、Bitcoin/USDの価格チャートを作成し、「タイムズーム(time zooming)」機能を使ってデータを集約し、チャートに移動平均を追加して、そのチャートをファイルにエクスポートしています。全てQuadbase ERES APIを使用し、テンプレートを使用することなく行います。
この例では、チャートデータはREST APIからJSONフォーマットで取得します。
注: 簡略化のため、このブログのコードは例外処理を行いません。このコードは動作していますが、もしこのコードを自身のプロジェクトに使いたいのであれば、例外処理を追加することを推奨します。
クラスパスは
Java JDK 8+ – Oracle Javaを使用しましたが、好きなJavaを使用することができます。
EspressReport ES (ERES) 7.0 評価版については 当社にお問合せください。
注: Quadbase 製品(EspressChart、EspressReport、Espress Dashboard(EDAB)、ERES)はすべて同じチャートエンジンを搭載しています。この例では、デフォルトでjson.jarライブラリが含まれているERESを選択しました。
ERES7.0からは、以下のjarが必要になります。
ERESOrganizer.jar – Quadbaseチャート・エンジン(その他)が含まれています。
json.jar – JSONをパースするためのJavaツールです。
qblicense.jar – Quadbaseのライセンス。評価版ライセンスも使用可能です。
まず、API URLからデータを取得する必要があります。バッファードリーダーを作成し、URLから取得した出力をStringBufferに読み込むだけです。
なお、今回は過去1825日間のビットコイン価格(USD)を1時間ごとに取得しているので、大量のデータを取得することになります。
URL apiurl = new URL(“https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=USD&days=1825&interval=hourly”);
BufferedReader in = new BufferedReader(new InputStreamReader(apiurl.openStream()));
StringBuffer sb = new StringBuffer();
String inputLine;
while ((inputLine = in.readLine()) != null) {
sb.append(inputLine);
}
in.close();
続きはこちらの原文を参照ください。
関連するトピックス:
- チャートAPI、レポートAPIを使用してJavaから動的にグラフや帳票をカスタマイズ
- ERES + Fluentd かんたんログ活用術 – その④ EspressReport ESによる可視化
- アプリケーション・サーバからのデータ抽出ロジック使用方法【Javaグラフ作成ツールEspressChart】
- ライセンス・キー登録後のespressmanagerのエラー【Javaチャート・グラフ作成ツールEspressChart】
- エクセルなどのファイル内の情報も簡単にインターネット共有【EspressReport ES, EspressDashboard】
- Javaオブジェクト/アレー データとEJB【Javaチャート・グラフ作成ツールEspressChart】
- サンプルチャートご紹介(その5) ※最終【Javaチャート・グラフ作成ツールEspressChart】
- Javascriptカレンダ+EspressChartの連携【Javaチャート・グラフ作成ツールEspressChart】
- Javaで作成したソースデータをチャートデザイナで使う方法
- 中国語表示について【Javaチャート・グラフ作成ツールEspressChart】