Hantera diagramdatamarkörer i presentationer med Java
Översikt
Denna artikel förklarar hur man arbetar med diagramdatamarkörer i Aspose.Slides. Den visar hur man skapar ett diagram, får åtkomst till en serie och dess datapunkter, applicerar bildfyllning på markörer på datapunktsnivå, justerar markörstorlek och sparar den uppdaterade presentationen. Den noterar också att standardmarkörformer finns tillgängliga via MarkerStyleType‑uppräkningen och att markörens utseende bevaras när diagram exporteras till rasterformat eller SVG.
Ställ in diagrammarköralternativ
Markörerna kan ställas in på diagramdatapunkter inom specifika serier. För att ställa in diagrammarköralternativ, följ stegen nedan:
- Instansiera Presentation klassen.
- Skapa standarddiagrammet.
- Ställ in bilden.
- Hämta den första diagramserien.
- Lägg till ny datapunkt.
- Skriv presentationen till disk.
I exemplet nedan har vi ställt in diagrammarköralternativen på datapunktsnivå.
// Skapa tom presentation
Presentation pres = new Presentation();
try {
// Åtkomst till första bilden
ISlide slide = pres.getSlides().get_Item(0);
// Skapa standarddiagrammet
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 0, 0, 400, 400);
// Hämta standarddiagramdata arbetsbladets index
int defaultWorksheetIndex = 0;
// Hämta diagramdataarbetsbladet
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Ta bort demo-serien
chart.getChartData().getSeries().clear();
// Lägg till ny serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
// Ladda bild 1
IPPImage imgx1 = pres.getImages().addImage(new FileInputStream(new File("Desert.jpg")));
// Ladda bild 2
IPPImage imgx2 = pres.getImages().addImage(new FileInputStream(new File("Tulips.jpg")));
// Hämta första diagramserien
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Lägg till ny punkt (1:3) där.
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);
// Ändra diagramseriens markör
series.getMarker().setSize(15);
// Spara presentation med diagram
pres.save("ScatterChart.pptx", SaveFormat.Pptx);
} catch (IOException e) {
} finally {
if (pres != null) pres.dispose();
}
FAQ
Vilka markörformer finns tillgängliga som standard?
Standardformer finns tillgängliga (cirkel, kvadrat, diamant, triangel osv.); listan definieras av klassen MarkerStyleType. Om du behöver en icke‑standardform, använd en markör med bildfyllning för att efterlikna anpassade visuella element.
Bevaras markörer när ett diagram exporteras till en bild eller SVG?
Ja. När diagram renderas till rasterformat eller sparas som former som SVG, behåller markörerna sitt utseende och sina inställningar, inklusive storlek, fyllning och kontur.