Points de données du diagramme Treemap et Sunburst

Parmi les autres types de graphiques PowerPoint, il existe deux types “hiérarchiques” - Treemap et Sunburst (également connu sous le nom de Graphique Sunburst, Diagramme Sunburst, Graphique Radial, Graphique Radial ou Diagramme Circulaire Multi Niveaux). Ces graphiques affichent des données hiérarchiques organisées sous forme d’arbre - des feuilles jusqu’au sommet de la branche. Les feuilles sont définies par les points de données de la série, et chaque niveau de regroupement imbriqué subséquent est défini par la catégorie correspondante. Aspose.Slides pour PHP via Java permet de formater les points de données du graphique Sunburst et Treemap.

Voici un graphique Sunburst, où les données de la colonne Series1 définissent les nœuds feuilles, tandis que les autres colonnes définissent les points de données hiérarchiques :

todo:image_alt_text

Commençons par ajouter un nouveau graphique Sunburst à la présentation :

  $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();
    }
  }

S’il est nécessaire de formater les points de données du graphique, nous devrions utiliser ce qui suit :

IChartDataPointLevelsManagerIChartDataPointLevel classes  et IChartDataPoint.getDataPointLevels méthode  fournissent un accès pour formater les points de données des graphiques Treemap et Sunburst.  IChartDataPointLevelsManager est utilisé pour accéder aux catégories multi-niveaux - il représente le conteneur des IChartDataPointLevel objets. Fondamentalement, c’est un wrapper pour  IChartCategoryLevelsManager avec les propriétés ajoutées spécifiques aux points de données.  La classe IChartDataPointLevel a deux méthodes : getFormat et  getDataLabel qui fournissent un accès aux paramètres correspondants.

Afficher la valeur du point de données

Afficher la valeur du point de données “Feuille 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

Définir l’étiquette et la couleur du point de données

Définir l’étiquette de données “Branche 1” pour afficher le nom de la série (“Series1”) au lieu du nom de la catégorie. Ensuite, définir la couleur du texte en jaune :

  $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

Définir la couleur de la branche du point de données

Changer la couleur de la branche “Tige 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