Y軸最大値最小値のカスタマイズと注意点【Javaチャート・グラフ作成ツールEspressChart】


EspressChartで使用するグラフのY軸の最大値や最小値と間隔については、デフォルトでは「自動設定」となっており、実データに合わせて適切に設定されます。

以下が自動設定時のサンプルグラフです。チャートデザイナ上ではデフォルトで「自動設定」となっているため、上記ではY軸の最大値90、最小値0、間隔30となっています。

意図的に手動で設定したい場合には、「手動設定」にすることで任意の最大値・最小値・間隔の設定が可能です。
以下が手動設定時のサンプルグラフです。チャートデザイナ上で「手動設定」にし、Y軸の最大値120、最小値0、間隔30としたものです。


JavaAPIで手動設定を行う場合は下記のように記述します。

// 手動設定(自動設定をOFF)
QbChart#gethYAxis().setScaleAutomatic(false);
// 最大値設定
QbChart#gethYAxis().setMaxScale(120);
// 最小値設定
QbChart#gethYAxis().setMinScale(0);
// 間隔設定
QbChart#gethYAxis().setScaleStep(30);

●手動設定の際の注意点

JavaAPIで手動設定の際には1点注意です。実データ(CSVやDBなどの実際の値)がY軸の最大値や最小値を超えないようにするる必要があります。もし超えてしまった場合にはEspressChartはエラーを返します。
例えば、上でも使用しているグラフで手動設定で最大値を80にしてみます。すると実データがY軸の最大値を超過しますので、以下のようなエラーが返ってきてしまいます。「最大値は85以上で設定してください」というものです。

java.lang.IllegalArgumentException: Max must be >= 85.0
at quadbase.chart.Chart.setAxisMaxScale(Chart.java:4916)
at quadbase.ChartAPI.QbChartBasic$CAxis.setMaxScale(QbChartBasic.java:1179)

このエラーを回避する方法として、「Patch6.jar」というパッチファイルが用意されています。このファイルをサーバにデプロイすることで、Y軸の最大値や最小値を超えてもエラーを出さずにグラフを表示させることは可能です。以下がサンプルです。Y軸の最大値80を超えていますがエラーは出ずにグラフが表示されています。

ただ、この方法は非推奨となっており、可能な限りはY軸の最大値最小値を超えないように設定していただくことを推奨しております。
手動設定の際は、最大値・最小値の設定にご注意ください。

関連するトピックス:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください