Správa značek dat grafu v prezentacích pomocí Javy

Přehled

Tento článek vysvětluje, jak pracovat s datovými značkami grafu v Aspose.Slides. Ukazuje, jak vytvořit graf, získat přístup k sérii a jejím datovým bodům, aplikovat výplně obrázkem na značky na úrovni datového bodu, upravit velikost značky a uložit aktualizovanou prezentaci. Také uvádí, že standardní tvary značek jsou k dispozici prostřednictvím výčtu MarkerStyleType a že vzhled značky je zachován při exportu grafů do rastrových formátů nebo SVG.

Nastavení možností značek grafu

Značky lze nastavit na datových bodech grafu v konkrétních sériích. Pro nastavení možností značek grafu postupujte podle níže uvedených kroků:

  • Vytvořte instanci třídy Presentation.
  • Vytvořte výchozí graf.
  • Nastavte obrázek.
  • Získejte první sérii grafu.
  • Přidejte nový datový bod.
  • Uložte prezentaci na disk.

V příkladu uvedeném níže jsme nastavili možnosti značek grafu na úrovni datových bodů.

// Vytvoření prázdné prezentace
Presentation pres = new Presentation();
try {
    // Přístup k prvnímu snímku
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Vytvoření výchozího grafu
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
    
    // Získání indexu výchozího listu dat grafu
    int defaultWorksheetIndex = 0;
    
    // Získání listu dat grafu
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Odstranění demonstrační série
    chart.getChartData().getSeries().clear();
    
    // Přidání nové série
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());

    // Načtení obrázku 1
    IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
    
    // Načtení obrázku 2
    IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
    
    // Získání první série grafu
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Přidání nového bodu (1:3) tam.
    IChartDataPoint point = series.getDataPoints().addDataPointForLineSeries(fact.getCell(defaultWorksheetIndex, 1, 1, (double) 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, (double) 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, (double) 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, (double) 4.5));
    point.getMarker().getFormat().getFill().setFillType(FillType.Picture);
    point.getMarker().getFormat().getFill().getPictureFillFormat().getPicture().setImage(imgx2);
    
    // Změna značky série grafu
    series.getMarker().setSize(15);
    
    // Uložení prezentace s grafem
    pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Jaké tvary značek jsou k dispozici přímo z krabice?

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

Zůstávají značky zachovány při exportu grafu do obrázku nebo SVG?

Ano. Při vykreslování grafů do rasterových formátů nebo ukládání tvarů jako SVG, značky si zachovávají svůj vzhled a nastavení, včetně velikosti, výplně i obrysu.