Správa ukazatelů dat grafu v prezentacích pomocí PHP

Přehled

Tento článek vysvětluje, jak pracovat s ukazateli dat v grafech v Aspose.Slides. Ukazuje, jak vytvořit graf, získat přístup k řadě a jejím datovým bodům, aplikovat výplň obrázkem na ukazatele na úrovni datových bodů, upravit velikost ukazatele a uložit aktualizovanou prezentaci. Také poznamenává, že standardní tvary ukazatelů jsou k dispozici prostřednictvím výčtu MarkerStyleType a že vzhled ukazatele je zachován při exportu grafů do rastrových formátů nebo SVG.

Nastavení možností ukazatelů grafu

Ukazatele lze nastavit na datových bodech grafu v konkrétní řadě. Pro nastavení možností ukazatelů grafu postupujte podle následujících kroků:

  • Vytvořte instanci třídy Presentation.
  • Vytvořte výchozí graf.
  • Nastavte obrázek.
  • Vyberte první řadu grafu.
  • Přidejte nový datový bod.
  • Zapište prezentaci na disk.

V ukázce uvedené níže jsme nastavili možnosti ukazatelů grafu na úrovni datových bodů.

  # Vytvoření prázdné prezentace
  $pres = new Presentation();
  try {
    # Přístup k prvnímu snímku
    $slide = $pres->getSlides()->get_Item(0);
    # Vytvoření výchozího grafu
    $chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 0, 0, 400, 400);
    # Získání indexu výchozího listu dat grafu
    $defaultWorksheetIndex = 0;
    # Získání listu dat grafu
    $fact = $chart->getChartData()->getChartDataWorkbook();
    # Odstranění ukázkové řady
    $chart->getChartData()->getSeries()->clear();
    # Přidání nové řady
    $chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 1, 1, "Series 1"), $chart->getType());
    # Načtení obrázku 1
    $imgx1 = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "Desert.jpg")));
    # Načtení obrázku 2
    $imgx2 = $pres->getImages()->addImage(new Java("java.io.FileInputStream", new Java("java.io.File", "Tulips.jpg")));
    # Vybrání první řady grafu
    $series = $chart->getChartData()->getSeries()->get_Item(0);
    # Add new point (1:3) there.
    $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);
    # Změna ukazatele řady grafu
    $series->getMarker()->setSize(15);
    # Uložení prezentace s grafem
    $pres->save("ScatterChart.pptx", SaveFormat::Pptx);
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Často kladené otázky

Jaké tvary ukazatelů jsou k dispozici přímo z krabice?

K dispozici jsou standardní tvary (kruh, čtverec, diamant, trojúhelník atd.); seznam je definován třídou MarkerStyleType. Pokud potřebujete nestandardní tvar, použijte ukazatel s výplní obrázkem pro napodobení vlastních vizuálů.

Zůstávají ukazatele zachovány při exportu grafu jako obrázek nebo SVG?

Ano. Při vykreslování grafů do raster formats nebo ukládání shapes as SVG, ukazatele si zachovávají svůj vzhled a nastavení, včetně velikosti, výplně a obrysu.