ツリーマップとサンバーストチャートのデータポイント
他のタイプのPowerPointチャートの中に、2つの「階層型」タイプ - ツリーマップとサンバーストチャート(サンバーストグラフ、サンバーストダイアグラム、放射グラフ、放射チャートまたは多層円グラフとも呼ばれます)があります。これらのチャートは、葉から枝の頂点までのツリーとして組織された階層データを表示します。葉はシリーズデータポイントによって定義され、各次の入れ子のグループ化レベルは対応するカテゴリによって定義されます。Aspose.Slides for .NETを使用すると、C#でサンバーストチャートとツリーマップのデータポイントをフォーマットできます。
こちらがサンバーストチャートで、Series1列のデータが葉ノードを定義し、他の列が階層データポイントを定義しています:
新しいサンバーストチャートをプレゼンテーションに追加するところから始めましょう:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Sunburst, 100, 100, 450, 400);
// ...
}
関連情報
チャートのデータポイントをフォーマットする必要がある場合は、次のものを使用すべきです:
IChartDataPointLevelsManager、 IChartDataPointLevelクラス および IChartDataPoint.DataPointLevelsプロパティ は、ツリーマップとサンバーストチャートのデータポイントをフォーマットするためのアクセスを提供します。 IChartDataPointLevelsManager は、マルチレベルカテゴリにアクセスするために使用されます - それは IChartDataPointLevelオブジェクトのコンテナを表します。 基本的に、データポイントのために特別に追加されたプロパティを持つ IChartCategoryLevelsManagerのラッパーです。 IChartDataPointLevelクラスは 2つのプロパティを持っています:Formatと DataLabel は 対応する設定にアクセスするためのものです。
データポイントの値を表示
「Leaf 4」データポイントの値を表示します:
IChartDataPointCollection dataPoints = chart.ChartData.Series[0].DataPoints;
dataPoints[3].DataPointLevels[0].Label.DataLabelFormat.ShowValue = true;
データポイントのラベルと色を設定
「Branch 1」データラベルをカテゴリ名の代わりにシリーズ名(「Series1」)を表示するように設定します。その後、テキストの色を黄色に設定します:
IDataLabel branch1Label = dataPoints[0].DataPointLevels[2].Label;
branch1Label.DataLabelFormat.ShowCategoryName = false;
branch1Label.DataLabelFormat.ShowSeriesName = true;
branch1Label.DataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid;
branch1Label.DataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.Yellow;
データポイントのブランチの色を設定
「Stem 4」ブランチの色を変更します:
using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Sunburst, 100, 100, 450, 400);
IChartDataPointCollection dataPoints = chart.ChartData.Series[0].DataPoints;
IChartDataPointLevel stem4branch = dataPoints[9].DataPointLevels[1];
stem4branch.Format.Fill.FillType = FillType.Solid;
stem4branch.Format.Fill.SolidFillColor.Color = Color.Red;
pres.Save("pres.pptx", SaveFormat.Pptx);
}