Erstellen von Radardiagrammen in Java-Folien
Einführung in das Erstellen eines Radardiagramms in Java-Folien
In diesem Tutorial führen wir Sie durch den Prozess der Erstellung eines Radardiagramms mithilfe der Aspose.Slides für Java-API. Radardiagramme sind nützlich, um Daten in einem kreisförmigen Muster zu visualisieren, wodurch mehrere Datenreihen leichter verglichen werden können. Wir stellen Ihnen Schritt-für-Schritt-Anleitungen sowie Java-Quellcode zur Verfügung.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie die Aspose.Slides für Java-Bibliothek in Ihr Projekt integriert haben. Sie können die Bibliothek hier herunterladen: Hier .
Schritt 1: Einrichten der Präsentation
Beginnen wir mit dem Einrichten einer neuen PowerPoint-Präsentation und dem Hinzufügen einer Folie.
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
Schritt 2: Hinzufügen eines Radardiagramms
Als Nächstes fügen wir der Folie ein Radardiagramm hinzu. Wir geben die Position und Abmessungen des Diagramms an.
ISlide sld = pres.getSlides().get_Item(0);
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
Schritt 3: Diagrammdaten festlegen
Wir legen nun die Diagrammdaten fest. Dazu müssen wir eine Datenarbeitsmappe erstellen, Kategorien hinzufügen und Reihen hinzufügen.
int defaultWorksheetIndex = 0;
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Diagrammtitel festlegen
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Standardmäßig generierte Serien und Kategorien löschen
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Neue Kategorien hinzufügen
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"));
// Neue Serien hinzufügen
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());
Schritt 4: Auffüllen der Seriendaten
Jetzt füllen wir die Seriendaten für unser Radardiagramm aus.
// Seriendaten für Serie 1 auffüllen
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));
// Serienfarbe festlegen
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
// Seriendaten für Serie 2 auffüllen
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));
// Serienfarbe festlegen
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
Schritt 5: Achsen und Legenden anpassen
Passen wir die Achsen und Legenden für unser Radardiagramm an.
// Legendenposition festlegen
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Festlegen der Texteigenschaften der Kategorieachse
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"));
// Festlegen der Texteigenschaften für Legenden
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"));
// Festlegen der Texteigenschaften der Werteachse
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"));
// Zahlenformat der Werteachse festlegen
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Einstellen des Haupteinheitswerts im Diagramm
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
Schritt 6: Speichern der Präsentation
Speichern Sie abschließend die erstellte Präsentation mit dem Radardiagramm
.
pres.save(outPath, SaveFormat.Pptx);
Das ist es! Sie haben erfolgreich ein Radardiagramm in einer PowerPoint-Präsentation mit Aspose.Slides für Java erstellt. Sie können dieses Beispiel jetzt weiter an Ihre spezifischen Anforderungen anpassen.
Vollständiger Quellcode zum Erstellen von Radardiagrammen in Java-Folien
String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
try
{
// Zur ersten Folie
ISlide sld = pres.getSlides().get_Item(0);
// Radardiagramm hinzufügen
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
// Festlegen des Indexes des Diagrammdatenblattes
int defaultWorksheetIndex = 0;
// Abrufen der Diagrammdaten Arbeitsblatt
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
// Diagrammtitel festlegen
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
// Standardmäßig generierte Serien und Kategorien löschen
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();
// Neue Kategorien hinzufügen
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"));
// Neue Serien hinzufügen
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());
// Jetzt werden Seriendaten gefüllt
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));
// Serienfarbe festlegen
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
//Jetzt wird eine weitere Datenreihe gefüllt
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));
// Serienfarbe festlegen
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
// Legendenposition festlegen
ichart.getLegend().setPosition(LegendPositionType.Bottom);
// Festlegen der Texteigenschaften der Kategorieachse
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"));
// Festlegen der Texteigenschaften für Legenden
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"));
// Festlegen der Texteigenschaften der Werteachse
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"));
// Zahlenformat der Werteachse festlegen
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
// Einstellen des Haupteinheitswerts im Diagramm
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
// Generierte Präsentation speichern
pres.save(outPath, SaveFormat.Pptx);
}
finally
{
if (pres != null) pres.dispose();
}
Abschluss
In diesem Tutorial haben Sie gelernt, wie Sie mit Aspose.Slides für Java ein Radardiagramm in einer PowerPoint-Präsentation erstellen. Sie können diese Konzepte anwenden, um Ihre Daten in Ihren Java-Anwendungen effektiv zu visualisieren und zu präsentieren.
Häufig gestellte Fragen
Wie kann ich den Diagrammtitel ändern?
Um den Diagrammtitel zu ändern, ändern Sie die folgende Zeile:
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
Kann ich dem Radardiagramm weitere Datenreihen hinzufügen?
Ja, Sie können weitere Datenreihen hinzufügen, indem Sie die Schritte in „Schritt 3“ und „Schritt 4“ für jede zusätzliche Reihe befolgen, die Sie einschließen möchten.
Wie passe ich die Diagrammfarben an?
Sie können die Serienfarben anpassen, indem Sie die Linien ändern, die dieSolidFillColor
Eigenschaft für jede Serie. Beispiel:
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
Wie kann ich die Achsenbeschriftungen und die Formatierung ändern?
Informationen zum Anpassen der Achsenbeschriftungen und -formatierung, einschließlich Schriftgröße und -farbe, finden Sie unter „Schritt 5“.
Wie speichere ich das Diagramm in einem anderen Dateiformat?
Sie können das Ausgabeformat ändern, indem Sie die Dateierweiterung imoutPath
Variable und unter Verwendung der entsprechendenSaveFormat
. Um beispielsweise als PDF zu speichern, verwenden SieSaveFormat.Pdf
.