Marqueur de données de graphique

Définir les options de marqueur de graphique

Les marqueurs peuvent être définis sur les points de données du graphique à l’intérieur de séries particulières. Pour définir les options de marqueur de graphique, veuillez suivre les étapes ci-dessous :

  • Instancier la classe Presentation.
  • Créer le graphique par défaut.
  • Définir l’image.
  • Prendre la première série de graphique.
  • Ajouter un nouveau point de données.
  • Écrire la présentation sur le disque.

Dans l’exemple donné ci-dessous, nous avons défini les options de marqueur de graphique au niveau des points de données.

  # Création de la présentation vide
  $pres = new Presentation();
  try {
    # Accéder à la première diapositive
    $slide = $pres->getSlides()->get_Item(0);
    # Création du graphique par défaut
    $chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 0, 0, 400, 400);
    # Obtention de l'index de la feuille de travail de données du graphique par défaut
    $defaultWorksheetIndex = 0;
    # Obtention de la feuille de travail de données du graphique
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Supprimer les séries de démonstration
    $chart->getChartData()->getSeries()->clear();
    # Ajouter une nouvelle série
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 1, 1, "Série 1"), $chart->getType());
    # Charger l'image 1
    $imgx1 = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "Desert.jpg")));
    # Charger l'image 2
    $imgx2 = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "Tulips.jpg")));
    # Prendre la première série de graphique
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    # Ajouter un nouveau point (1:3) là.
    $point = $series->getDataPoints()->addDataPointForLineSeries($fact->getCell($defaultWorksheetIndex, 1, 1, 4.5));
    $point->getMarker()->getFormat()->getFill()->setFillType(FillType::Picture);
    $point->getMarker()->getFormat()->getFill()->getPictureFillFormat()->getPicture()->setImage($imgx1);
    $point = $series->getDataPoints()->addDataPointForLineSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 2.5));
    $point->getMarker()->getFormat()->getFill()->setFillType(FillType::Picture);
    $point->getMarker()->getFormat()->getFill()->getPictureFillFormat()->getPicture()->setImage($imgx2);
    $point = $series->getDataPoints()->addDataPointForLineSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 3.5));
    $point->getMarker()->getFormat()->getFill()->setFillType(FillType::Picture);
    $point->getMarker()->getFormat()->getFill()->getPictureFillFormat()->getPicture()->setImage($imgx1);
    $point = $series->getDataPoints()->addDataPointForLineSeries($fact->getCell($defaultWorksheetIndex, 4, 1, 4.5));
    $point->getMarker()->getFormat()->getFill()->setFillType(FillType::Picture);
    $point->getMarker()->getFormat()->getFill()->getPictureFillFormat()->getPicture()->setImage($imgx2);
    # Changer le marqueur de la série de graphique
    $series->getMarker()->setSize(15);
    # Sauvegarder la présentation avec le graphique
    $pres->save("ScatterChart.pptx", SaveFormat::Pptx);
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }