今回も、前回に続いて CategoryDataset を要求するチャートを見ていきます。
今回見ていくチャートは
- StackedBarChart
- StackedBarChart3D
- StackedAreaChart
- MultiplePieChart
- MultiplePieChart3D
- WaterfallChart
の6つです。
CategoryDataset インスタンスの作成例
上記のチャートは、前回のものと同じく CategoryDataset を要求しますが、それらのデータはスタックされること(つまりデータが順次加算されること、累積されること)に意味がなければいけません。 したがって、今回は前回と異なったデータをサンプルに使用することにします。
def dataset = new DefaultCategoryDataset() def planet planet = 'Venus' dataset.addValue(96.5d, 'Carbon dioxide', planet) dataset.addValue(3.5d, 'Nitrogen', planet) planet = 'Earth' dataset.addValue(78.084d, 'Nitrogen', planet) dataset.addValue(20.946d, 'Oxygen', planet) dataset.addValue(0.9340d, 'Argon', planet) dataset.addValue(0.0390d, 'Carbon dioxide', planet) planet = 'Mars' dataset.addValue(95.32d, 'Carbon dioxide', planet) dataset.addValue(2.7d, 'Nitrogen', planet) dataset.addValue(1.6d, 'Argon', planet) dataset.addValue(0.13d, 'Oxygen', planet)
このデータセットの例では、各惑星 (Venus, Earth, Mars) に関して、それぞれの気体 (Carbon dioxide, Nitrogen, etc) を加えていけば、全体として(約)100%になるようになっています。
StackedXxxxChart
StackedBarChart
ChartFactory.createStackedBarChart( 'Stacked Bar Chart', 'Planet', 'Atmosphere Composition', dataset, PlotOrientation.VERTICAL, true, true, true)
StackedBarChart3D
ChartFactory.createStackedBarChart3D( 'Stacked Bar Chart 3D', 'Planet', 'Atmosphere Composition', dataset, PlotOrientation.VERTICAL, true, true, true)
StackedAreaChart
ChartFactory.createStackedAreaChart( 'Stacked Area Chart', 'Planet', 'Atmosphere Composition', dataset, PlotOrientation.VERTICAL, true, true, true)
MultiplePieChart, MultiplePieChart3D
MulitplePieChart, MultiplePieChart3D は、以前の記事で見た PieChart, PieChart3D を複数同時に(カテゴリ別に)表示させるチャートです。
これらのチャートを生成する creatMultiplePieChart(), createMultiplePieChart3D() メソッドに渡す TableOrder の定数は、どのカテゴリごとに円グラフを描くかを指定します(実際に渡す定数を変えて表示させてみると違いが分かりやすいかと)。 指定できる定数は
- TableOrder.BY_ROW
- TableOrder.BY_COLUMN
の2つです。
MultiplePieChart
ChartFactory.createMultiplePieChart( 'Multiple Pie Chart', dataset, TableOrder.BY_COLUMN, true, true, true)
MutiplePieChart3D
ChartFactory.createMultiplePieChart3D( 'Multiple Pie Chart 3D', data, TableOrder.BY_COLUMN, true, true, true)
Waterfall Chart
WaterfallChart を表示させようとすると、イマイチうまくいかなかったので、ここでは省略。 Waterfall Chart については、例えばこちらを参照。