Přidání trendových linek do grafů v prezentaci v Javě
Přehled
Tento článek vysvětluje, jak pomocí Aspose.Slides přidat trendové linky do grafů v prezentaci. Ukazuje, jak vytvořit graf, přidat trendové linky k sériím grafu a pracovat s několika typy trendových linek, včetně exponenciální, lineární, logaritmické, klouzavého průměru, polynomické a mocninné.
Také popisuje, jak přidat vlastní čáru do grafu vložením tvaru čáry, a obsahuje stručné FAQ o hodnotách projekce trendové linky dopředu a dozadu a o tom, zda jsou trendové linky zachovány při exportu do PDF nebo SVG a při vykreslování grafů jako obrázků.
Přidání trendové linky
Aspose.Slides for Java poskytuje jednoduché API pro správu různých trendových linek grafu:
- Vytvořte instanci třídy Presentation.
- Získejte referenci snímku podle jeho indexu.
- Přidejte graf s výchozími daty a libovolným požadovaným typem (v tomto příkladu se používá ChartType.ClusteredColumn).
- Přidání exponenciální trendové linky pro sérii grafu 1.
- Přidání lineární trendové linky pro sérii grafu 1.
- Přidání logaritmické trendové linky pro sérii grafu 2.
- Přidání trendové linky klouzavý průměr pro sérii grafu 2.
- Přidání polynomické trendové linky pro sérii grafu 3.
- Přidání mocninné trendové linky pro sérii grafu 3.
- Zapište upravenou prezentaci do souboru PPTX.
Následující kód se používá k vytvoření grafu s trendovými linkami.
// Vytvořte instanci třídy Presentation
Presentation pres = new Presentation();
try {
// Vytvoření seskupeného sloupcového grafu
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 20, 20, 500, 400);
// Přidání exponenciální trendové linky pro sérii grafu 1
ITrendline tredLinep = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(TrendlineType.Exponential);
tredLinep.setDisplayEquation(false);
tredLinep.setDisplayRSquaredValue(false);
// Přidání lineární trendové linky pro sérii grafu 1
ITrendline tredLineLin = chart.getChartData().getSeries().get_Item(0).getTrendLines().add(TrendlineType.Linear);
tredLineLin.setTrendlineType(TrendlineType.Linear);
tredLineLin.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
tredLineLin.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
// Přidání logaritmické trendové linky pro sérii grafu 2
ITrendline tredLineLog = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.Logarithmic);
tredLineLog.setTrendlineType(TrendlineType.Logarithmic);
tredLineLog.addTextFrameForOverriding("New log trend line");
// Přidání trendové linky klouzavý průměr pro sérii grafu 2
ITrendline tredLineMovAvg = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.MovingAverage);
tredLineMovAvg.setTrendlineType(TrendlineType.MovingAverage);
tredLineMovAvg.setPeriod((byte)3);
tredLineMovAvg.setTrendlineName("New TrendLine Name");
// Přidání polynomické trendové linky pro sérii grafu 3
ITrendline tredLinePol = chart.getChartData().getSeries().get_Item(2).getTrendLines().add(TrendlineType.Polynomial);
tredLinePol.setTrendlineType(TrendlineType.Polynomial);
tredLinePol.setForward(1);
tredLinePol.setOrder((byte)3);
// Přidání mocninné trendové linky pro sérii grafu 3
ITrendline tredLinePower = chart.getChartData().getSeries().get_Item(1).getTrendLines().add(TrendlineType.Power);
tredLinePower.setTrendlineType(TrendlineType.Power);
tredLinePower.setBackward(1);
// Uložení prezentace
pres.save("ChartTrendLines_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Přidání vlastní čáry
Aspose.Slides for Java poskytuje jednoduché API pro přidání vlastních čar do grafu. Pro přidání jednoduché rovné čáry do vybraného snímku prezentace postupujte podle níže uvedených kroků:
- Vytvořte instanci třídy Presentation.
- Získejte referenci snímku pomocí jeho Indexu.
- Vytvořte nový graf pomocí metody AddChart, která je součástí objektu Shapes.
- Přidejte AutoShape typu Line pomocí metody AddAutoShape, která je součástí objektu Shapes.
- Nastavte barvu čar tvaru.
- Zapište upravenou prezentaci jako soubor PPTX
Následující kód se používá k vytvoření grafu s vlastními čarami.
// Vytvořte instanci třídy Presentation
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 400);
IAutoShape shape = chart.getUserShapes().getShapes().addAutoShape(ShapeType.Line, 0, chart.getHeight()/2, chart.getWidth(), 0);
shape.getLineFormat().getFillFormat().setFillType(FillType.Solid);
shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(java.awt.Color.RED);
pres.save("Presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Často kladené otázky
Co znamenají „dopředu“ a „dozadu“ u trendové linky?
Jedná se o délky trendové linky projekované dopředu/dozadu: u rozptýlených (XY) grafů — v jednotkách osy; u ne‑rozptýlených grafů — v počtu kategorií. Povolené jsou pouze nezáporné hodnoty.
Zůstane trendová linka zachována při exportu prezentace do PDF nebo SVG, nebo při vykreslování snímku jako obrázku?
Ano. Aspose.Slides převádí prezentace do PDF/SVG a vykresluje grafy do obrázků; trendové linky jako součást grafu jsou při těchto operacích zachovány. K dispozici je také metoda pro export obrázku grafu.