Diagramm-Datenmarker in Präsentationen für Android verwalten

Diagramm-Marker-Optionen festlegen

Die Marker können für Datenpunkte innerhalb bestimmter Serien eines Diagramms festgelegt werden. Um Diagramm-Marker-Optionen zu setzen, gehen Sie bitte wie folgt vor:

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

Im nachstehenden 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-Chart-Datenarbeitsblatts abrufen
    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 übernehmen
    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 stehen standardmäßig zur Verfügung?

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

Werden Marker beim Export eines Diagramms in ein Bild oder SVG erhalten?

Ja. Beim Rendern von Diagrammen in raster formats oder beim Speichern von shapes as SVG behalten Marker ihr Aussehen und ihre Einstellungen bei, einschließlich Größe, Füllung und Kontur.