Diagrammdatenmarker in Präsentationen mit Java verwalten

Diagramm-Marker-Optionen festlegen

Die Marker können an den Datenpunkten eines Diagramms in bestimmten Serien festgelegt werden. Um Diagramm-Marker-Optionen zu setzen, folgen Sie bitte den untenstehenden Schritten:

  • Instanzieren Sie die Klasse Presentation.
  • Erstellen Sie das Standarddiagramm.
  • Legen Sie das Bild fest.
  • Nehmen Sie die erste Diagrammserie.
  • Fügen Sie einen neuen Datenpunkt hinzu.
  • Schreiben Sie die Präsentation auf die Festplatte.

Im nachfolgenden Beispiel haben wir die Diagramm-Marker-Optionen auf Datenpunktebene festgelegt.

// Leere Präsentation erstellen
Presentation pres = new Presentation();
try {
    // Erste Folie zugreifen
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Standarddiagramm erstellen
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
    
    // Den Index des Standard-Diagrammdaten-Arbeitsblatts erhalten
    int defaultWorksheetIndex = 0;
    
    // Das Diagrammdaten-Arbeitsblatt abrufen
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Demo-Serie löschen
    chart.getChartData().getSeries().clear();
    
    // Neue Serie hinzufügen
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());

    // Bild 1 laden
    IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
    
    // Bild 2 laden
    IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
    
    // Erste Diagrammserie nehmen
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Neuen Punkt (1:3) dort hinzufügen.
    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);
    
    // Diagrammserien-Marker ändern
    series.getMarker().setSize(15);
    
    // Präsentation mit Diagramm speichern
    pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Welche Markerformen sind standardmäßig verfügbar? Standardformen sind verfügbar (Kreis, Quadrat, Raute, Dreieck usw.); die Liste wird durch die Klasse MarkerStyleType definiert. Wenn Sie eine nicht standardmäßige Form benötigen, verwenden Sie einen Marker mit Bildfüllung, um benutzerdefinierte Visualisierungen nachzuahmen.

Werden Marker beim Export eines Diagramms in ein Bild oder SVG beibehalten? Ja. Beim Rendern von Diagrammen in Rasterformate oder beim Speichern von Formen als SVG behalten Marker ihr Aussehen und ihre Einstellungen bei, einschließlich Größe, Füllung und Kontur.