Vytváření radarových grafů v Java Slides
Úvod do vytváření radarového grafu v Java Slides
tomto tutoriálu vás provedeme procesem vytváření radarového grafu pomocí Aspose.Slides for Java API. Radarové grafy jsou užitečné pro vizualizaci dat v kruhovém vzoru, což usnadňuje porovnání více datových řad. Poskytneme vám podrobné pokyny spolu se zdrojovým kódem Java.
Předpoklady
Než začneme, ujistěte se, že máte knihovnu Aspose.Slides for Java integrovanou do vašeho projektu. Knihovnu si můžete stáhnout ztady.
Krok 1: Nastavení prezentace
Začněme nastavením nové PowerPointové prezentace a přidáním snímku do ní.
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
Krok 2: Přidání radarové mapy
Dále do snímku přidáme radarovou mapu. Upřesníme polohu a rozměry grafu.
ISlide sld = pres.getSlides().get_Item(0);
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
Krok 3: Nastavení dat grafu
Nyní nastavíme data grafu. To zahrnuje vytvoření datového sešitu, přidání kategorií a přidání řad.
int defaultWorksheetIndex = 0;
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Nastavte název grafu
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Smazat výchozí vygenerované série a kategorie
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Přidávání nových kategorií
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Category 1"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Category 3"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Category 5"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 4, 0, "Category 7"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 5, 0, "Category 9"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 6, 0, "Category 11"));
// Přidávání nové série
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), ichart.getType());
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), ichart.getType());
Krok 4: Vyplnění dat řady
Nyní vyplníme sériová data pro naši radarovou mapu.
// Vyplňte data série pro sérii 1
IChartSeries series = ichart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 2.7));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 1.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 1, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 1, 5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 1, 3.5));
// Nastavit barvu série
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
// Vyplňte data série pro sérii 2
series = ichart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 2.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 1.6));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 2, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 2, 4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 2, 3.6));
// Nastavit barvu série
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
Krok 5: Přizpůsobení osy a legend
Upravme osu a legendy pro náš radarový graf.
// Nastavte pozici legendy
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Nastavení vlastností textu osy kategorie
IChartPortionFormat txtCat = ichart.getAxes().getHorizontalAxis().getTextFormat().getPortionFormat();
txtCat.setFontBold(NullableBool.True);
txtCat.setFontHeight(10);
txtCat.getFillFormat().setFillType(FillType.Solid);
txtCat.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Nastavení vlastností textu legend
IChartPortionFormat txtleg = ichart.getLegend().getTextFormat().getPortionFormat();
txtleg.setFontBold(NullableBool.True);
txtleg.setFontHeight(10);
txtleg.getFillFormat().setFillType(FillType.Solid);
txtleg.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtleg.setLatinFont(new FontData("Calibri"));
// Nastavení vlastností textu osy hodnot
IChartPortionFormat txtVal = ichart.getAxes().getVerticalAxis().getTextFormat().getPortionFormat();
txtVal.setFontBold(NullableBool.True);
txtVal.setFontHeight(10);
txtVal.getFillFormat().setFillType(FillType.Solid);
txtVal.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtVal.setLatinFont(new FontData("Calibri"));
// Nastavení formátu čísla osy hodnot
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Nastavení hodnoty hlavní jednotky v grafu
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
Krok 6: Uložení prezentace
Nakonec uložte vygenerovanou prezentaci s radarovým grafem
.
pres.save(outPath, SaveFormat.Pptx);
A je to! Úspěšně jste vytvořili radarový graf v prezentaci PowerPoint pomocí Aspose.Slides pro Java. Nyní můžete tento příklad dále upravit tak, aby vyhovoval vašim konkrétním potřebám.
Kompletní zdrojový kód pro vytváření radarových grafů v Java Slides
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
try
{
// Přístup k prvnímu snímku
ISlide sld = pres.getSlides().get_Item(0);
// Přidat radarový graf
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
// Nastavení indexu datového listu grafu
int defaultWorksheetIndex = 0;
// Získání dat grafu Pracovní list
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Nastavte název grafu
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Smazat výchozí vygenerované série a kategorie
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Přidávání nových kategorií
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 3"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 5"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 4, 0, "Caetegoty 7"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 5, 0, "Caetegoty 9"));
ichart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 6, 0, "Caetegoty 11"));
// Přidávání nové série
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), ichart.getType());
ichart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), ichart.getType());
// Nyní se vyplňují data série
IChartSeries series = ichart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 2.7));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 1.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 1, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 1, 5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 1, 3.5));
// Nastavit barvu série
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
//Nyní se vyplňují data další řady
series = ichart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 2.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 2.4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 1.6));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 4, 2, 3.5));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 5, 2, 4));
series.getDataPoints().addDataPointForRadarSeries(fact.getCell(defaultWorksheetIndex, 6, 2, 3.6));
// Nastavit barvu série
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
// Nastavte pozici legendy
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Nastavení vlastností textu osy kategorie
IChartPortionFormat txtCat = ichart.getAxes().getHorizontalAxis().getTextFormat().getPortionFormat();
txtCat.setFontBold(NullableBool.True);
txtCat.setFontHeight(10);
txtCat.getFillFormat().setFillType(FillType.Solid);
txtCat.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Nastavení vlastností textu legend
IChartPortionFormat txtleg = ichart.getLegend().getTextFormat().getPortionFormat();
txtleg.setFontBold(NullableBool.True);
txtleg.setFontHeight(10);
txtleg.getFillFormat().setFillType(FillType.Solid);
txtleg.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtCat.setLatinFont(new FontData("Calibri"));
// Nastavení vlastností textu osy hodnot
IChartPortionFormat txtVal = ichart.getAxes().getVerticalAxis().getTextFormat().getPortionFormat();
txtVal.setFontBold(NullableBool.True);
txtVal.setFontHeight(10);
txtVal.getFillFormat().setFillType(FillType.Solid);
txtVal.getFillFormat().getSolidFillColor().setColor(new Color(PresetColor.DimGray));
txtVal.setLatinFont(new FontData("Calibri"));
// Nastavení formátu čísla osy hodnot
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Nastavení hodnoty hlavní jednotky v grafu
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
// Uložit vygenerovanou prezentaci
pres.save(outPath, SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Závěr
V tomto tutoriálu jste se naučili, jak vytvořit radarový graf v prezentaci PowerPoint pomocí Aspose.Slides pro Java. Tyto koncepty můžete použít k efektivní vizualizaci a prezentaci vašich dat ve vašich aplikacích Java.
FAQ
Jak mohu změnit název grafu?
Chcete-li změnit název grafu, upravte následující řádek:
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
Mohu do radarové mapy přidat další datové řady?
Ano, můžete přidat další datové řady podle kroků v „Kroku 3“ a „Kroku 4“ pro každou další řadu, kterou chcete zahrnout.
Jak přizpůsobím barvy grafu?
Barvy řady můžete přizpůsobit úpravou čar, které nastavujíSolidFillColor
vlastnost pro každou řadu. Například:
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
Jak mohu změnit popisky os a formátování?
Viz “Krok 5” pro přizpůsobení štítků os a formátování, včetně velikosti a barvy písma.
Jak uložím graf do jiného formátu souboru?
Výstupní formát můžete změnit úpravou přípony souboru voutPath
proměnné a pomocí příslušnéhoSaveFormat
. Chcete-li například uložit jako PDF, použijteSaveFormat.Pdf
.