テリーマップとサンバーストチャートのデータポイント

さまざまなタイプのPowerPointチャートの中には、テリーマップサンバーストチャート(サンバーストグラフ、サンバーストダイアグラム、ラジアルチャート、ラジアルグラフ、またはマルチレベルパイチャートとも呼ばれる)の2つの「階層型」タイプがあります。これらのチャートは、木のように整理された階層データを表示します - 葉から枝の頂点まで。葉は系列データポイントによって定義され、各次のネストされたグルーピングレベルは対応するカテゴリによって定義されます。Aspose.Slides for Javaは、Javaでのサンバーストチャートとテリーマップのデータポイントをフォーマットすることを可能にします。

こちらがサンバーストチャートで、Series1列のデータが葉ノードを定義し、他の列が階層データポイントを定義しています:

todo:image_alt_text

プレゼンテーションに新しいサンバーストチャートを追加することから始めましょう:

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);

todo:image_alt_text

データポイントラベルと色を設定

“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);

todo:image_alt_text

データポイントのブランチ色を設定

“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();
}

todo:image_alt_text