矩形树图和旭日图的数据点

在其他类型的PowerPoint图表中,有两种“层次型”类型——矩形树图旭日图(也称为旭日图、旭日图表、径向图、径向图表或多层饼图)。这些图表显示了以树形结构组织的层次数据——从叶子到树枝的顶部。叶子由系列数据点定义,而每个后续的嵌套分组级别由相应的类别定义。Aspose.Slides for PHP通过Java允许格式化旭日图和矩形树图的数据点。

这里是一个旭日图,Series1列中的数据定义了叶子节点,而其他列定义了层次数据点:

todo:image_alt_text

让我们开始向演示文稿添加一个新的旭日图:

  $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,提供对相应设置的访问。

显示数据点值

显示“叶子 4”数据点的值:

  $dataPoints = $chart->getChartData()->getSeries()->get_Item(0)->getDataPoints();
  $dataPoints->get_Item(3)->getDataPointLevels()->get_Item(0)->getLabel()->getDataLabelFormat()->setShowValue(true);

todo:image_alt_text

设置数据点标签和颜色

将“分支 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);

todo:image_alt_text

设置数据点分支颜色

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

todo:image_alt_text