ツリーマップとサンバーストチャートのデータポイント
他のタイプのPowerPointチャートの中には、2つの「階層的」タイプ - ツリーマップ と サンバースト チャート(サンバーストグラフ、サンバーストダイアグラム、半径チャート、半径グラフまたはマルチレベルパイチャートとも呼ばれる)があります。これらのチャートは、葉から枝の先端までのツリーとして構成された階層データを表示します。葉は系列データポイントによって定義され、各後続のネストされたグループ化レベルは、対応するカテゴリによって定義されます。Aspose.Slides for C++は、C++でサンバーストチャートとツリーマップのデータポイントをフォーマットすることを可能にします。
以下はサンバーストチャートで、Series1列のデータが葉ノードを定義し、他の列が階層データポイントを定義しています:
プレゼンテーションに新しいサンバーストチャートを追加することから始めましょう:
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);
データポイントのラベルと色を設定
「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());
データポイントの枝の色を設定
「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);