テリーマップとサンバーストチャートのデータポイント
さまざまなタイプのPowerPointチャートの中には、テリーマップとサンバーストチャート(サンバーストグラフ、サンバーストダイアグラム、ラジアルチャート、ラジアルグラフ、またはマルチレベルパイチャートとも呼ばれる)の2つの「階層型」タイプがあります。これらのチャートは、木のように整理された階層データを表示します - 葉から枝の頂点まで。葉は系列データポイントによって定義され、各次のネストされたグルーピングレベルは対応するカテゴリによって定義されます。Aspose.Slides for Javaは、Javaでのサンバーストチャートとテリーマップのデータポイントをフォーマットすることを可能にします。
こちらがサンバーストチャートで、Series1列のデータが葉ノードを定義し、他の列が階層データポイントを定義しています:
プレゼンテーションに新しいサンバーストチャートを追加することから始めましょう:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
// ...
} finally {
if (pres != null) pres.dispose();
}
チャートのデータポイントをフォーマットする必要がある場合、次のものを使用するべきです:
IChartDataPointLevelsManager、 IChartDataPointLevelクラス および IChartDataPoint.getDataPointLevelsメソッド は、テリーマップとサンバーストチャートのデータポイントをフォーマットするためのアクセスを提供します。 IChartDataPointLevelsManager は、マルチレベルカテゴリにアクセスするために使用されます - それは IChartDataPointLevelオブジェクトのコンテナを表します。 基本的に、データポイントに特有のプロパティが追加された IChartCategoryLevelsManagerのラッパーです。 IChartDataPointLevelクラスには 2つのメソッドがあります:getFormatと getDataLabelで、 対応する設定にアクセスするためのものです。
データポイントの値を表示
“Leaf 4"データポイントの値を表示します:
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
dataPoints.get_Item(3).getDataPointLevels().get_Item(0).getLabel().getDataLabelFormat().setShowValue(true);
データポイントラベルと色を設定
“Branch 1"のデータラベルをカテゴリ名の代わりに系列名(“Series1”)を表示するように設定します。そして、テキスト色を黄色に設定します:
IDataLabel branch1Label = dataPoints.get_Item(0).getDataPointLevels().get_Item(0).getLabel();
branch1Label.getDataLabelFormat().setShowCategoryName(false);
branch1Label.getDataLabelFormat().setShowSeriesName(true);
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().setFillType(FillType.Solid);
branch1Label.getDataLabelFormat().getTextFormat().getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.YELLOW);
データポイントのブランチ色を設定
“Steam 4"ブランチの色を変更します:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 100, 100, 450, 400);
IChartDataPointCollection dataPoints = chart.getChartData().getSeries().get_Item(0).getDataPoints();
IChartDataPointLevel stem4branch = dataPoints.get_Item(9).getDataPointLevels().get_Item(1);
stem4branch.getFormat().getFill().setFillType(FillType.Solid);
stem4branch.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}