ツリーマップとサンバーストチャートのデータポイント
PowerPointチャートの他のタイプの中には、二つの「階層型」タイプ - ツリーマップとサンバーストチャート(サンバーストグラフ、サンバースト図、放射状チャート、放射状グラフ、多層円グラフとも呼ばれます)があります。これらのチャートは、葉から枝のトップまでのツリーとして整理された階層データを表示します。葉は系列データポイントによって定義され、各後続のネストされたグルーピングレベルは対応するカテゴリによって定義されます。Aspose.Slides for PHPをJava経由で使用することで、サンバーストチャートとツリーマップのデータポイントをフォーマットできます。
ここにサンバーストチャートがあります。Series1列のデータが葉ノードを定義し、他の列が階層データポイントを定義します。
プレゼンテーションに新しいサンバーストチャートを追加することから始めましょう:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
# ...
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
関連情報
チャートのデータポイントをフォーマットする必要がある場合、次のものを使用する必要があります:
IChartDataPointLevelsManager、 IChartDataPointLevelクラス および IChartDataPoint.getDataPointLevelsメソッド は、ツリーマップとサンバーストチャートのデータポイントをフォーマットするためのアクセスを提供します。 IChartDataPointLevelsManager はマルチレベルカテゴリにアクセスするために使用されます - それは IChartDataPointLevelオブジェクトのコンテナを表します。 基本的に、データポイント専用のプロパティが追加された IChartCategoryLevelsManagerのラッパーです。 IChartDataPointLevelクラスには 二つのメソッドがあります: getFormat と getDataLabel は 対応する設定へのアクセスを提供します。
データポイントの値を表示
「Leaf 4」データポイントの値を表示します:
$dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
$dataPoints->get_Item(3)->getDataPointLevels()->get_Item(0)->getLabel()->getDataLabelFormat()->setShowValue(true);
データポイントラベルと色を設定
「Branch 1」データラベルをカテゴリ名の代わりに系列名(「Series1」)を表示するように設定します。次に、テキスト色を黄色に設定します:
$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(java("java.awt.Color")->YELLOW);
データポイントのブランチカラーを設定
「Steam 4」ブランチの色を変更します:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 100, 100, 450, 400);
$dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
$stem4branch = $dataPoints->get_Item(9)->getDataPointLevels()->get_Item(1);
$stem4branch->getFormat()->getFill()->setFillType(FillType::Solid);
$stem4branch->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
$pres->save("pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}