スクリプトでチャートをカスタマイズする方法

文書番号 : 39611     文書種別 : 使用方法     登録日 : 2016/09/30     最終更新日 : 2016/09/30
文書を印刷する
対象製品
Elixir Report 8.7J
詳細
チャートウィザードの[スクリプト]タブにスクリプトを記述することで、チャートをカスタマイズして出力できます。下記のサンプルをご参考ください。

このナレッジベースで紹介したスクリプトを適用したチャートは、こちらのサンプルテンプレートに含まれています。ファイル
解凍して、リポジトリ名"/samples/chartsctipt"となるように配置してお試しください。

なお、チャートエレメントは内部的にオープンソースのJFreeChartを使用しているため、JFreeChartのクラスで定義された定数を指定している部分があります。

系列の塗りつぶし
※サンプルの[ChangeColorPattern]セクションに含まれています。

系列の色変更:
(適用対象)エリア/棒/円
■サンプルコード
importClass(Packages.com.elixirtech.chart2.custom.CustomDrawingSupplier);

// 色を表す定義済み文字列は、ヘルプドキュメントの
// [2章 レポート設計]-[7.その他の機能]-[色]を参照してください

paints = ["DarkSeaGreen","PowderBlue","Gold","Lightpink","HoneyDew"];
cds = new CustomDrawingSupplier();
cds.setPaintNames(paints);
plot.drawingSupplier = cds;

※系列の色は、スクリプトを使用せずに、チャートウィザードの[色]から設定することも可能です。


パターン表示:
(適用対象)エリア/棒/円
■サンプルコード
// DIAG,DIAG2,HORIZ,HORIZ2,NONE,RDIAG,RDIAG2,STITCH,VERT,VERT2,VWAVE,WAVE
paints = ["RDIAG","Horiz","VWave","Vert","STITCH"];
cds = new CustomDrawingSupplier();
cds.setPaintNames(paints);
plot.drawingSupplier = cds;

※チャートウィザードの[色]タブで、[色の自動設定]チェックボックスをオフにしてください。
※パターン表示は、スクリプトを使用せずに、チャートウィザードの[色]から設定することも可能です。


背景に画像表示
※サンプルの[BackgroundImage]セクションに含まれています。
(適用対象)3D、エリア、横棒、縦棒、折れ線、メーター、円、ポーラー、株式、ウォーターフォール、散布図、複合

■サンプルコード
var is = Packages.com.elixirtech.util.
URLLoader.getInputStream("repository:/samples/chartscript/grapecity_logo.gif");
var im = Packages.javax.imageio.ImageIO.read(is);

// プロット領域の背景(TOP_RIGHT)に表示
plot.backgroundImage = im;
plot.setBackgroundImageAlignment(Packages.org.jfree.ui.Align.TOP_RIGHT);

// グラフ全体の背景(BOTTOM)に表示
backgroundImage = im;
setBackgroundImageAlignment(Packages.org.jfree.ui.Align.BOTTOM);


複数円グラフの凡例(デフォルト表示)を表示しない
※サンプルの[PieLabel]セクションに含まれています。

■サンプルコード
var chart = plot.getPieChart();
chart.removeLegend();


軸の制御
※サンプルの[Axis]セクションに含まれています。

Y軸を右に表示:
■サンプルコード
plot.setRangeAxisLocation(Packages.org.jfree.chart.axis.AxisLocation.TOP_OR_RIGHT);

Y軸の範囲設定(-50~400):
■サンプルコード
var axis1 = plot.getRangeAxis();
axis1.setRange(-50, 400);


フォントの変更
※サンプルの[ChangeFont]セクションに含まれています。

凡例のフォント変更:
■サンプルコード
getLegend().setItemFont(new java.awt.Font("Serif",0,20));

メーターグラフの値と領域の値のフォント変更:
■サンプルコード
//グラフの値
plot.setValueFont(new java.awt.Font("SansSerif",3,20));

//領域の値のフォントと色
plot.setTickLabelFont(new java.awt.Font("SansSerif",1,14));
plot.setTickLabelPaint(java.awt.Color.yellow);


影を表示しない
※サンプルの[Shadow]セクションに含まれています。

(適用対象)横棒、縦棒
■サンプルコード
importPackage(Packages.com.elixirtech.chart2.plot);
var chart = plot.getRenderer();
chart.setShadowVisible(false);

(適用対象)円
■サンプルコード
plot.setShadowPaint(null);

(適用対象)複数円
■サンプルコード
plot.getPieChart().getPlot().setShadowPaint(null);