Skapa eller uppdatera PowerPoint‑presentationsdiagram på Android
Översikt
Denna artikel ger en omfattande guide om hur du skapar och anpassar diagram med Aspose.Slides. Du kommer att lära dig hur du programatiskt lägger till ett diagram på en bild, fyller det med data och använder olika formateringsalternativ för att matcha dina specifika designkrav. Genom hela artikeln illustrerar detaljerade kodexempel varje steg, från initiering av presentationen och diagramobjektet till konfigurering av serier, axlar och förklaringar. Genom att följa denna guide får du en solid förståelse för hur du integrerar dynamisk diagengenerering i dina applikationer och förenklar processen att skapa datadrivna presentationer.
Skapa ett diagram
Diagram hjälper människor att snabbt visualisera data och få insikter som kanske inte är omedelbart uppenbara från en tabell eller ett kalkylblad.
Varför skapa diagram?
Genom att använda diagram kan du
- samla, komprimera eller sammanfatta stora mängder data på en enda bild i en presentation
- avslöja mönster och trender i data
- avgöra riktning och momentum för data över tid eller i förhållande till en specifik mätenhet
- upptäcka avvikelser, aberrationer, avvikelser, fel, nonsensdata osv.
- kommunicera eller presentera komplex data
I PowerPoint kan du skapa diagram via infogningsfunktionen, som erbjuder mallar för att designa många typer av diagram. Med Aspose.Slides kan du skapa vanliga diagram (baserade på populära diagramtyper) och anpassade diagram.
Skapa vanliga diagram
Stegen: Skapa diagram
- Steg: Skapa PowerPoint-diagram i Java
- Steg: Skapa presentationsdiagram i Java
- Steg: Skapa PowerPoint‑presentationsdiagram i Java
Kodsteg:
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med någon data och ange den diagramtyp du föredrar.
- Lägg till en titel för diagrammet.
- Kom åt diagrammets datablad.
- Rensa alla standardserier och -kategorier.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Lägg till en fyllnadsfärg för diagramserierna.
- Lägg till etiketter för diagramserierna.
- Skriv den modifierade presentationen som en PPTX‑fil.
Denna Java‑kod visar hur du skapar ett vanligt diagram:
// Instansierar en presentationsklass som representerar en PPTX‑fil
Presentation pres = new Presentation();
try {
// Hämtar den första bilden
ISlide sld = pres.getSlides().get_Item(0);
// Lägger till ett diagram med dess standarddata
IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Ställer in diagrammets titel
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.hasTitle();
// Ställer in att den första serien visar värden
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Ställer in indexet för diagrammets datablad
int defaultWorksheetIndex = 0;
// Hämtar diagrammets dataarbetsblad
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Tar bort de standardgenererade serierna och kategorierna
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// Lägger till nya serier
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"),chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"),chart.getType());
// Lägger till nya kategorier
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Hämtar den första diagramserien
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Fyller nu i seriedatan
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Ställer in fyllnadsfärgen för serien
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
// Hämtar den andra diagramserien
series = chart.getChartData().getSeries().get_Item(1);
// Fyller i seriedata
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// Ställer in fyllnadsfärgen för serien
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
// Skapar anpassade etiketter för varje kategori för den nya serien
// Ställer in den första etiketten att visa kategorinamn
IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// Visar värde för den tredje etiketten
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// Sparar presentationen med diagram
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa spridda diagram
Spridda diagram (även kallade spridda diagram eller x‑y‑grafer) används ofta för att kontrollera mönster eller demonstrera korrelationer mellan två variabler.
Du kan vilja använda ett spritt diagram när
- du har parade numeriska data
- du har 2 variabler som passar bra ihop
- du vill avgöra om 2 variabler är relaterade
- du har en oberoende variabel som har flera värden för en beroende variabel
Steg: Skapa spritt diagram i Java | Steg: Skapa PowerPoint‑spritt diagram i Java | Steg: Skapa PowerPoint‑presentationsspritt diagram i Java
- Följ stegen som nämns ovan i Skapa vanliga diagram
- För tredje steget, Lägg till ett diagram med någon data och ange diagramtypen som en av följande
- ChartType.ScatterWithMarkers - Representerar spritt diagram.
- ChartType.ScatterWithSmoothLinesAndMarkers - Representerar spritt diagram sammankopplat med kurvor, med datamarkörer.
- ChartType.ScatterWithSmoothLines - Representerar spritt diagram sammankopplat med kurvor, utan datamarkörer.
- ChartType.ScatterWithStraightLinesAndMarkers - Representerar spritt diagram sammankopplat med raka linjer, med datamarkörer.
- ChartType.ScatterWithStraightLines - Representerar spritt diagram sammankopplat med raka linjer, utan datamarkörer.
Denna Java‑kod visar hur du skapar spridda diagram med olika serier av markörer:
// Instansierar en presentationsklass som representerar en PPTX-fil
Presentation pres = new Presentation();
try {
// Hämtar den första bilden
ISlide slide = pres.getSlides().get_Item(0);
// Skapar standarddiagrammet
IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Hämtar standarddiagrammets dataarbetsbladsindex
int defaultWorksheetIndex = 0;
// Hämtar diagrammets dataarbetsblad
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Tar bort demoserien
chart.getChartData().getSeries().clear();
// Lägger till nya serier
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
// Hämtar första diagramserien
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Lägger till en ny punkt (1:3) i serien
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
// Lägger till en ny punkt (2:10)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
// Ändrar serietypen
series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
// Ändrar diagramseriens markör
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Star);
// Hämtar den andra diagramserien
series = chart.getChartData().getSeries().get_Item(1);
// Lägger till en ny punkt (5:2) där
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
// Lägger till en ny punkt (3:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
// Lägger till en ny punkt (2:2)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
// Lägger till en ny punkt (5:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
// Ändrar diagramseriens markör
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Circle);
pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa cirkeldiagram
Cirkeldiagram är bäst för att visa förhållandet del‑till‑helhet i data, särskilt när data innehåller kategoriska etiketter med numeriska värden. Om dina data innehåller många delar eller etiketter kan du överväga att använda ett stapeldiagram istället.
Steg: Skapa cirkeldiagram i Java | Steg: Skapa PowerPoint‑cirkeldiagram i Java | Steg: Skapa PowerPoint‑presentationscirkeldiagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (i detta fall ChartType.Pie).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Lägg till nya punkter för diagrammen och anpassade färger för cirkeldiagrammets sektorer.
- Ställ in etiketter för serierna.
- Ställ in ledningslinjer för serieetiketterna.
- Ställ in rotationsvinkeln för cirkeldiagrammets bilder.
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett cirkeldiagram:
// Instansierar en presentationsklass som representerar en PPTX-fil
Presentation pres = new Presentation();
try {
// Hämtar den första bilden
ISlide slides = pres.getSlides().get_Item(0);
// Lägger till ett diagram med standarddata
IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
// Ställer in diagrammets titel
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Ställer in att den första serien visar värden
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Ställer in indexet för diagrammets dataarbetsblad
int defaultWorksheetIndex = 0;
// Hämtar diagrammets dataarbetsblad
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Tar bort de standardgenererade serierna och kategorierna
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Lägger till nya kategorier
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "First Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
// Lägger till nya serier
IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
//Populerar seriedatan
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// Fungerar inte i ny version
// Lägger till nya punkter och sätter sektionsfärg
// series.IsColorVaried = true;
chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
IChartDataPoint point = series.getDataPoints().get_Item(0);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
// Ställer in sektionsramen
point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
point.getFormat().getLine().setWidth(3.0);
point.getFormat().getLine().setStyle(LineStyle.ThinThick);
point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
IChartDataPoint point1 = series.getDataPoints().get_Item(1);
point1.getFormat().getFill().setFillType(FillType.Solid);
point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
// Ställer in sektionsramen
point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
point1.getFormat().getLine().setWidth(3.0);
point1.getFormat().getLine().setStyle(LineStyle.Single);
point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
IChartDataPoint point2 = series.getDataPoints().get_Item(2);
point2.getFormat().getFill().setFillType(FillType.Solid);
point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
// Ställer in sektionsramen
point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
point2.getFormat().getLine().setWidth(2.0);
point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
// Skapar anpassade etiketter för varje kategori för den nya serien
IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
// lbl.ShowCategoryName = true;
lbl1.getDataLabelFormat().setShowValue(true);
IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
lbl2.getDataLabelFormat().setShowValue(true);
lbl2.getDataLabelFormat().setShowLegendKey(true);
lbl2.getDataLabelFormat().setShowPercentage(true);
IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
lbl3.getDataLabelFormat().setShowSeriesName(true);
lbl3.getDataLabelFormat().setShowPercentage(true);
// Visar ledningslinjer för diagrammet
series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
// Ställer in rotationsvinkeln för cirkeldiagrammets sektorer
chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
// Sparar presentationen med ett diagram
pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa linjediagram
Linjediagram (även kallade linjediagram) är bäst när du vill visa förändringar i värde över tid. Med ett linjediagram kan du jämföra mycket data samtidigt, spåra förändringar och trender över tid, markera avvikelser i dataserier osv.
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (i detta fall
ChartType.Line). - Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett linjediagram:
Presentation pres = new Presentation();
try {
IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);
pres.save("lineChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Som standard är punkterna i ett linjediagram förenade med raka kontinuerliga linjer. Om du vill att punkterna ska förenas med streck kan du ange din föredragna strecktyp så här:
IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);
for (IChartSeries series : lineChart.getChartData().getSeries())
{
series.getFormat().getLine().setDashStyle(LineDashStyle.Dash);
}
Skapa trädkartsdiagram
Trädkartsdiagram är bäst för försäljningsdata när du vill visa den relativa storleken på datapunkter och samtidigt snabbt rikta uppmärksamhet på de stora bidragsgivarna i varje kategori.
Steg: Skapa trädkartsdiagram i Java | Steg: Skapa PowerPoint‑trädkartsdiagram i Java | Steg: Skapa PowerPoint‑presentationsträdkartsdiagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (i detta fall ChartType.TreeMap).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett trädkartsdiagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
//gren 1
IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
leaf.getGroupingLevels().setGroupingItem(2, "Branch1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));
//gren 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
leaf.getGroupingLevels().setGroupingItem(2, "Branch2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Treemap);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));
series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);
pres.save("Treemap.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa börsdiagram
Steg: Skapa börsdiagram i Java | Steg: Skapa PowerPoint‑börsdiagram i Java | Steg: Skapa PowerPoint‑presentationsbörsdiagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (ChartType.OpenHighLowClose).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Specificera HiLowLines‑format.
- Skriv den modifierade presentationen till en PPTX‑fil
Exempel på Java‑kod som används för att skapa ett börsdiagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));
chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));
series = chart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));
series = chart.getChartData().getSeries().get_Item(2);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));
series = chart.getChartData().getSeries().get_Item(3);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));
chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);
for (IChartSeries ser : chart.getChartData().getSeries())
{
ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
}
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa låd- och whisker‑diagram
Steg: Skapa låd‑och‑whisker‑diagram i Java | Steg: Skapa PowerPoint‑låd‑och‑whisker‑diagram i Java | Steg: Skapa PowerPoint‑presentationslåd‑och‑whisker‑diagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (ChartType.BoxAndWhisker).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett låd‑och‑whisker‑diagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.BoxAndWhisker, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 1"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.BoxAndWhisker);
series.setQuartileMethod(QuartileMethodType.Exclusive);
series.setShowMeanLine(true);
series.setShowMeanMarkers(true);
series.setShowInnerPoints(true);
series.setShowOutlierPoints(true);
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));
pres.save("BoxAndWhisker.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa trattdiagram
Steg: Skapa trattdiagram i Java | Steg: Skapa PowerPoint‑trattdiagram i Java | Steg: Skapa PowerPoint‑presentationstrattdiagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (ChartType.Funnel).
- Skriv den modifierade presentationen till en PPTX‑fil
Java‑koden visar hur du skapar ett trattdiagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Funnel, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 2"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 3"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 4"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 5"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 6"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Funnel);
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));
pres.save("Funnel.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa solstråle‑diagram
Steg: Skapa solstråle‑diagram i Java | Steg: Skapa PowerPoint‑solstråle‑diagram i Java | Steg: Skapa PowerPoint‑presentationssolstråle‑diagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (i detta fall ChartType.sunburst).
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett solstråle‑diagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
//gren 1
IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
leaf.getGroupingLevels().setGroupingItem(2, "Branch1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));
//gren 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
leaf.getGroupingLevels().setGroupingItem(2, "Branch2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Sunburst);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
pres.save("Sunburst.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa histogram‑diagram
Steg: Skapa histogram‑diagram i Java | Steg: Skapa PowerPoint‑histogram‑diagram i Java | Steg: Skapa PowerPoint‑presentationshistogram‑diagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (ChartType.Histogram).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett histogram‑diagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));
chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic;)
pres.save("Histogram.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa radar‑diagram
Steg: Skapa radar‑diagram i Java | Steg: Skapa PowerPoint‑radar‑diagram i Java | Steg: Skapa PowerPoint‑presentationsradar‑diagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med någon data och ange den diagramtyp du föredrar (
ChartType.Radari detta fall). - Skriv den modifierade presentationen till en PPTX‑fil
Denna Java‑kod visar hur du skapar ett radar‑diagram:
Presentation pres = new Presentation();
try {
pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Radar, 20, 20, 400, 300);
pres.save("Radar-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa flerkategoridiagram
Steg: Skapa flerkategoridiagram i Java | Steg: Skapa PowerPoint‑flerkategoridiagram i Java | Steg: Skapa PowerPoint‑presentationsflerkategoridiagram i Java
- Skapa en instans av klassen Presentation.
- Hämta en bilds referens via dess index.
- Lägg till ett diagram med standarddata samt önskad typ (ChartType.ClusteredColumn).
- Kom åt diagramdata‑IChartDataWorkbook.
- Rensa standardserierna och -kategorierna.
- Lägg till nya serier och kategorier.
- Lägg till ny diagramdata för diagramserierna.
- Skriv den modifierade presentationen till en PPTX‑fil.
Denna Java‑kod visar hur du skapar ett flerkategoridiagram:
Presentation pres = new Presentation();
try {
IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
ch.getChartData().getSeries().clear();
ch.getChartData().getCategories().clear();
IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
fact.clear(0);
int defaultWorksheetIndex = 0;
IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
category.getGroupingLevels().setGroupingItem(1, "Group1");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
category.getGroupingLevels().setGroupingItem(1, "Group2");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
category.getGroupingLevels().setGroupingItem(1, "Group3");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
category.getGroupingLevels().setGroupingItem(1, "Group4");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));
// Lägger till serier
IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"),
ChartType.ClusteredColumn);
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
// Spara presentation med diagram
pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa kartdiagram
Ett kartdiagram visualiserar ett område som innehåller data. Kartdiagram är bäst för att jämföra data eller värden över geografiska regioner.
Steg: Skapa kartdiagram i Java | Steg: Skapa PowerPoint‑kartdiagram i Java | Steg: Skapa PowerPoint‑presentationskartdiagram i Java
Denna Java‑kod visar hur du skapar ett kartdiagram:
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Map, 50, 50, 500, 400);
pres.save("mapChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Skapa kombinationsdiagram
Ett kombinationsdiagram (eller combo‑diagram) kombinerar två eller fler diagramtyper i ett enda diagram. Detta diagram låter dig framhäva, jämföra eller undersöka skillnader mellan två eller fler dataserier och hjälper dig identifiera relationer mellan dem.

Följande Java‑kod visar hur du skapar kombinationsdiagrammet som visas ovan i en PowerPoint‑presentation:
static void createComboChart() {
Presentation presentation = new Presentation();
ISlide slide = presentation.getSlides().get_Item(0);
try {
IChart chart = createChartWithFirstSeries(slide);
addSecondSeriesToChart(chart);
addThirdSeriesToChart(chart);
setPrimaryAxesFormat(chart);
setSecondaryAxesFormat(chart);
presentation.save("combo-chart.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
}
static IChart createChartWithFirstSeries(ISlide slide) {
IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
// Använd diagrammets titel.
chart.setTitle(true);
chart.getChartTitle().addTextFrameForOverriding("Chart Title");
chart.getChartTitle().setOverlay(false);
IParagraph titleParagraph = chart.getChartTitle().getTextFrameForOverriding().getParagraphs().get_Item(0);
IPortionFormat titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
titleFormat.setFontBold(NullableBool.False);
titleFormat.setFontHeight(18f);
// Använd diagrammets förklaring.
chart.getLegend().setPosition(LegendPositionType.Bottom);
chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(12f);
// Ta bort de standardgenererade serierna och kategorierna.
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
int worksheetIndex = 0;
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
// Lägg till nya kategorier.
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Category 1"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Category 2"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Category 3"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Category 4"));
// Lägg till den första serien.
IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 1, "Series 1");
IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, chart.getType());
series.getParentSeriesGroup().setOverlap((byte)-25);
series.getParentSeriesGroup().setGapWidth(220);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 4.3));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 2.5));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 3.5));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 4.5));
return chart;
}
static void addSecondSeriesToChart(IChart chart) {
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
final int worksheetIndex = 0;
IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 2, "Series 2");
IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, ChartType.ClusteredColumn);
series.getParentSeriesGroup().setOverlap((byte)-25);
series.getParentSeriesGroup().setGapWidth(220);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 2.4));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 4.4));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 1.8));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 2, 2.8));
}
static void addThirdSeriesToChart(IChart chart) {
IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
final int worksheetIndex = 0;
IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 3, "Series 3");
IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, ChartType.Line);
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 1, 3, 2.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 2, 3, 2.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 3, 3, 3.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 4, 3, 5.0));
series.setPlotOnSecondAxis(true);
}
static void setPrimaryAxesFormat(IChart chart) {
// Använd den horisontella axeln.
IAxis horizontalAxis = chart.getAxes().getHorizontalAxis();
horizontalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
horizontalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
setAxisTitle(horizontalAxis, "X Axis");
// Använd den vertikala axeln.
IAxis verticalAxis = chart.getAxes().getVerticalAxis();
verticalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
verticalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
setAxisTitle(verticalAxis, "Y Axis 1");
// Använd färgen på de vertikala huvudrutnätslinjerna.
ILineFillFormat majorGridLinesFormat = verticalAxis.getMajorGridLinesFormat().getLine().getFillFormat();
majorGridLinesFormat.setFillType(FillType.Solid);
majorGridLinesFormat.getSolidFillColor().setColor(new Color(217, 217, 217));
}
static void setSecondaryAxesFormat(IChart chart) {
// Använd den sekundära horisontella axeln.
IAxis secondaryHorizontalAxis = chart.getAxes().getSecondaryHorizontalAxis();
secondaryHorizontalAxis.setPosition(AxisPositionType.Bottom);
secondaryHorizontalAxis.setCrossType(CrossesType.Maximum);
secondaryHorizontalAxis.setVisible(false);
secondaryHorizontalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
secondaryHorizontalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
// Använd den sekundära vertikala axeln.
IAxis secondaryVerticalAxis = chart.getAxes().getSecondaryVerticalAxis();
secondaryVerticalAxis.setPosition(AxisPositionType.Right);
secondaryVerticalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
secondaryVerticalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
secondaryVerticalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
secondaryVerticalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
setAxisTitle(secondaryVerticalAxis, "Y Axis 2");
}
static void setAxisTitle(IAxis axis, String axisTitle) {
axis.setTitle(true);
axis.getTitle().setOverlay(false);
IParagraph titleParagraph = axis.getTitle().addTextFrameForOverriding(axisTitle).getParagraphs().get_Item(0);
IPortionFormat titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
titleFormat.setFontBold(NullableBool.False);
titleFormat.setFontHeight(12f);
}
Uppdatera diagram
Steg: Uppdatera PowerPoint‑diagram i Java | Steg: Uppdatera presentationsdiagram i Java | Steg: Uppdatera PowerPoint‑presentationsdiagram i Java
- Instansiera en Presentation‑klass som representerar presentationen som innehåller diagrammet du vill uppdatera.
- Hämta referensen till en bild genom att använda dess index.
- Gå igenom alla former för att hitta det önskade diagrammet.
- Kom åt diagrammets datablad.
- Modifiera diagramseriens data genom att ändra serievärden.
- Lägg till en ny serie och fyll i data i den.
- Skriv den modifierade presentationen som en PPTX‑fil.
Denna Java‑kod visar hur du uppdaterar ett diagram:
Presentation pres = new Presentation();
try {
// Hämta första bildmarkören
ISlide sld = pres.getSlides().get_Item(0);
// Hämta diagrammet med standarddata
IChart chart = (IChart)sld.getShapes().get_Item(0);
// Ställer in indexet för diagrammets dataark
int defaultWorksheetIndex = 0;
// Hämtar diagrammets dataarbetsblad
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Ändrar diagrammets kategorinamn
fact.getCell(defaultWorksheetIndex, 1, 0, "Modified Category 1");
fact.getCell(defaultWorksheetIndex, 2, 0, "Modified Category 2");
// Hämta den första diagramserien
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Uppdaterar nu seriedata
fact.getCell(defaultWorksheetIndex, 0, 1, "New_Series1"); // Modifierar serienamn
series.getDataPoints().get_Item(0).getValue().setData(90);
series.getDataPoints().get_Item(1).getValue().setData(123);
series.getDataPoints().get_Item(2).getValue().setData(44);
// Hämta den andra diagramserien
series = chart.getChartData().getSeries().get_Item(1);
// Uppdaterar nu seriedata
fact.getCell(defaultWorksheetIndex, 0, 2, "New_Series2"); // Modifierar serienamn
series.getDataPoints().get_Item(0).getValue().setData(23);
series.getDataPoints().get_Item(1).getValue().setData(67);
series.getDataPoints().get_Item(2).getValue().setData(99);
// Lägger nu till en ny serie
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Series 3"), chart.getType());
// Hämta den tredje diagramserien
series = chart.getChartData().getSeries().get_Item(2);
// Populerar nu seriedata
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));
chart.setType(ChartType.ClusteredCylinder);
// Spara presentationen med diagram
pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ange dataområde för ett diagram
För att ange dataområde för ett diagram, gör så här:
- Instansiera en Presentation‑klass som representerar presentationen som innehåller diagrammet.
- Hämta en bilds referens via dess index.
- Gå igenom alla former för att hitta det önskade diagrammet.
- Kom åt diagramdata och ange området.
- Spara den modifierade presentationen som en PPTX‑fil.
Denna Java‑kod visar hur du anger dataområde för ett diagram:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = (IChart)slide.getShapes().get_Item(0);
chart.getChartData().setRange("Sheet1!A1:B4");
pres.save("SetDataRange_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Använd standardmarkörer i diagram
När du använder en standardmarkör i diagram får varje diagramserie automatiskt olika standardmarkörsymboler.
Denna Java‑kod visar hur du automatiskt sätter en diagramseriemarkör:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 10, 10, 400, 400);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "C2"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 1, 23));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "C3"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 1, -10));
chart.getChartData().getCategories().add(fact.getCell(0, 4, 0, "C4"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 1, null));
chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "Series 2"), chart.getType());
//Ta den andra diagramserien
IChartSeries series2 = chart.getChartData().getSeries().get_Item(1);
//Nu populera seriedata
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 2, 30));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 2, 10));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 2, 60));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 2, 40));
chart.setLegend(true);
chart.getLegend().setOverlay(false);
pres.save("DefaultMarkersInChart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Vilka diagramtyper stöds av Aspose.Slides?
Aspose.Slides stöder ett brett urval av chart types, inklusive stapel, linje, cirkel, område, spridd, histogram, radar och många fler. Denna flexibilitet låter dig välja den mest lämpliga diagramtypen för dina data‑visualiseringsbehov.
Hur lägger jag till ett nytt diagram på en bild?
För att lägga till ett diagram skapar du först en instans av klassen Presentation, hämtar den önskade bilden med dess index och anropar sedan metoden för att lägga till ett diagram, ange diagramtyp och initial data. Detta integrerar diagrammet direkt i din presentation.
Hur kan jag uppdatera data som visas i ett diagram?
Du kan uppdatera ett diagrams data genom att komma åt dess dataarbetsbok (IChartDataWorkbook), rensa eventuella standardserier och -kategorier och sedan lägga till dina egna data. Detta låter dig uppdatera diagrammet så att det återspeglar de senaste data.
Är det möjligt att anpassa diagrammets utseende?
Ja, Aspose.Slides erbjuder omfattande anpassningsalternativ. Du kan ändra färger, teckensnitt, etiketter, förklaringar och andra formatting elements för att skräddarsy diagrammets utseende efter dina specifika designkrav.