グラフスタイルの切り替え処理
グラフの切り替えは、折れ線グラフと円グラフのスタイル定義を作成しておいて、これをchartオブジェクトのsetStyleメソッドで読み込むことで行います。
従って、あらかじめWebCharts3Dギャラリーを使って、折れ線グラフと円グラフのスタイル定義を作成し、そのコード(メソッドのコード)をJavaアプリケーションのコードに組み込みます。
折れ線グラフと円グラフのスタイル定義の作成
スタイル定義の作成はとても簡単です。前々回の記事でも紹介しましたが、もう一度ここでその方法を紹介しておきます。
1
Eclipseのメニューから、「ファイル」-「新規」-「その他」を選びます。
2
ウィザードを選択するダイアログが表示されますから、「WebCharts3Dギャラリー」を選んで「次へ」ボタンを押します。
3
「チャートサンプルの選択」ダイアログで、「2D折れ線グラフ」をクリックし、左上のチャートをクリックして、「次へ」ボタンを押します。
4
チャートを挿入するJavaのプロジェクトを指定し、適当なファイル名に変更して「終了」ボタンを押します。
5
Eclipseに戻り、挿入されたチャートの「コードビュー」タブをクリックし、下のリストから「Swing」を選びます。すると、チャートのスタイル定義が「getWidgetStyle() 」というメソッドになって表示されます。
6
このメソッドのコードだけを、アプリケーションのコードに貼り付け、メソッド名を「getLineStyle()」に変えます。というのも、既に3D縦棒グラフのスタイル定義が、「getWidgetStyle()」というメソッド名になっています。同じメソッド名の重複は許されないことと、どのグラフのスタイルなのかが分かるようにするため、メソッド名を変更します。
private MxWidgetStyle getLineStyle() {
MxFrameChartStyle style = new MxFrameChartStyle();
style.is3D = false;
style.font = new java.awt.Font("Dialog",0,11);
style.frame.xDepth = 3;
style.frame.yDepth = 1;
style.frame.leftAxisPlacement = MxFrameStyle.AxisPlacement.BACK;
style.frame.isHStripVisible = true;
style.frame.background.minColor = new java.awt.Color(253,254,246);
style.xAxis.labelFormat.pattern = "#,##0.###";
style.xAxis.parseFormat.pattern = "#,##0.###";
style.xAxis.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.yAxis.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.yAxis2.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.topYAxis.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.topYAxis2.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.dataLabels.font = new java.awt.Font("Dialog",0,12);
style.legend.decoration.style = MxStandardConstants.Decoration.NONE;
style.elements.place = MxElementStyle.Place.DEFAULT;
style.elements.shape = MxElementStyle.Shape.LINE;
style.elements.drawShadow = true;
style.elements.morph.morph = MxMorphStyle.MorphStyle.GROW;
style.title.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,16);
return style;
}
7
同じ手順で円グラフも作成し、スタイル定義のメソッドをアプリケーションのコードに貼り付けます。こちらは、メソッド名を「getpieStyle()」にします。
private MxWidgetStyle getpieStyle() {
MxPieChartStyle style = new MxPieChartStyle();
style.depth = MxPieChartStyle.Depth.DOUBLE;
style.is3D = false;
style.font = new java.awt.Font("Dialog",0,11);
style.axis.titleStyle.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,14);
style.dataLabels.font = new java.awt.Font("Dialog",0,12);
style.legend.placement = MxStandardConstants.Placement.RIGHT;
style.legend.decoration.style = MxStandardConstants.Decoration.NONE;
style.elements.morph.morph = MxMorphStyle.MorphStyle.GROW;
style.elements.morph.stage = MxMorphStyle.MorphStage.COLS;
style.title.font = new java.awt.Font("Dialog",java.awt.Font.BOLD,16);
style.paint.palette = MxPaletteStyle.FIESTA;
style.paint.paint = MxElementStyle.Paint.LIGHT;
style.paint.max = 89;
return style;
}




