グラフスタイルの切り替え処理
グラフの切り替えは、折れ線グラフと円グラフのスタイル定義を作成しておいて、これを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; }