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

他のタイプのPowerPointチャートの中には、2つの「階層的」タイプ - ツリーマップサンバースト チャート(サンバーストグラフ、サンバーストダイアグラム、半径チャート、半径グラフまたはマルチレベルパイチャートとも呼ばれる)があります。これらのチャートは、葉から枝の先端までのツリーとして構成された階層データを表示します。葉は系列データポイントによって定義され、各後続のネストされたグループ化レベルは、対応するカテゴリによって定義されます。Aspose.Slides for C++は、C++でサンバーストチャートとツリーマップのデータポイントをフォーマットすることを可能にします。

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

todo:image_alt_text

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

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
// ...

チャートのデータポイントをフォーマットする必要がある場合は、次を使用する必要があります:

IChartDataPointLevelsManager、  IChartDataPointLevel クラス  および IChartDataPoint::get_DataPointLevels() メソッド  は、ツリーマップとサンバーストチャートのデータポイントをフォーマットするためのアクセスを提供します。  IChartDataPointLevelsManager は、複数のレベルのカテゴリにアクセスするために使用されます - それは  IChartDataPointLevel オブジェクトのコンテナを表します。 基本的にそれは  IChartCategoryLevelsManager のラッパーであり、 データポイントに特有のプロパティが追加されています。  IChartDataPointLevel クラスには 2つのメソッドがあります: get_Format() と  get_Label()  は 対応する設定にアクセスを提供します。

データポイントの値を表示

「Leaf 4」データポイントの値を表示します:

auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();
dataPoints->idx_get(3)->get_DataPointLevels()->idx_get(0)->get_Label()->get_DataLabelFormat()->set_ShowValue(true);

todo:image_alt_text

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

「Branch 1」データラベルをカテゴリ名の代わりに系列名(「Series1」)を表示するように設定します。次に、テキスト色を黄色に設定します:

auto branch1Label = dataPoints->idx_get(0)->get_DataPointLevels()->idx_get(2)->get_Label();
branch1Label->get_DataLabelFormat()->set_ShowCategoryName(false);
branch1Label->get_DataLabelFormat()->set_ShowSeriesName(true);

branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
branch1Label->get_DataLabelFormat()->get_TextFormat()->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Yellow());

todo:image_alt_text

データポイントの枝の色を設定

「Stem 4」枝の色を変更します:

auto pres = System::MakeObject<Presentation>();
auto chart = pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::Sunburst, 100.0f, 100.0f, 450.0f, 400.0f);
auto dataPoints = chart->get_ChartData()->get_Series()->idx_get(0)->get_DataPoints();

auto stem4branch = dataPoints->idx_get(9)->get_DataPointLevels()->idx_get(1);
stem4branch->get_Format()->get_Fill()->set_FillType(FillType::Solid);
stem4branch->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Red());

pres->Save(u"pres.pptx", SaveFormat::Pptx);

todo:image_alt_text