Creazione di grafici radar in diapositive Java

Introduzione alla creazione di un grafico radar in Diapositive Java

In questo tutorial, ti guideremo attraverso il processo di creazione di un grafico radar utilizzando l’API Aspose.Slides per Java. I grafici radar sono utili per visualizzare i dati in uno schema circolare, semplificando il confronto di più serie di dati. Forniremo istruzioni dettagliate insieme al codice sorgente Java.

Prerequisiti

Prima di iniziare, assicurati di avere la libreria Aspose.Slides per Java integrata nel tuo progetto. È possibile scaricare la libreria daQui.

Passaggio 1: impostazione della presentazione

Iniziamo configurando una nuova presentazione PowerPoint e aggiungendovi una diapositiva.

String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();

Passaggio 2: aggiunta di un grafico radar

Successivamente, aggiungeremo un grafico radar alla diapositiva. Specificheremo la posizione e le dimensioni del grafico.

ISlide sld = pres.getSlides().get_Item(0);
IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);

Passaggio 3: impostazione dei dati del grafico

Ora imposteremo i dati del grafico. Ciò comporta la creazione di una cartella di lavoro dati, l’aggiunta di categorie e l’aggiunta di serie.

int defaultWorksheetIndex = 0;
IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();

// Imposta il titolo del grafico
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");

// Elimina le serie e le categorie generate predefinite
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();

// Aggiunta di nuove categorie
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"));

// Aggiunta di nuove serie
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());

Passaggio 4: popolamento dei dati della serie

Ora popoleremo i dati della serie per il nostro grafico radar.

// Compilare i dati della serie per la serie 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));

// Imposta il colore della serie
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);

// Compilare i dati della serie per la serie 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));

// Imposta il colore della serie
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);

Passaggio 5: personalizzazione di assi e leggende

Personalizziamo l’asse e le legende per il nostro grafico radar.

// Imposta la posizione della legenda
ichart.getLegend().setPosition(LegendPositionType.Bottom);

// Impostazione delle proprietà del testo dell'asse delle categorie
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"));

// Impostazione delle proprietà del testo delle legende
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"));

// Impostazione delle proprietà del testo dell'asse dei valori
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"));

// Impostazione del formato del numero dell'asse dei valori
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");

// Impostazione del valore unitario principale del grafico
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);

Passaggio 6: salvataggio della presentazione

Infine, salva la presentazione generata con il grafico radar

.

pres.save(outPath, SaveFormat.Pptx);

Questo è tutto! Hai creato con successo un grafico radar in una presentazione di PowerPoint utilizzando Aspose.Slides per Java. Ora puoi personalizzare ulteriormente questo esempio per adattarlo alle tue esigenze specifiche.

Codice sorgente completo per la creazione di grafici radar in diapositive Java

String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
try
{
	// Accedi alla prima diapositiva
	ISlide sld = pres.getSlides().get_Item(0);
	// Aggiungi il grafico radar
	IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
	// Impostazione dell'indice della scheda grafica
	int defaultWorksheetIndex = 0;
	// Ottenere il foglio di lavoro dei dati del grafico
	IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
	// Imposta il titolo del grafico
	ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
	// Elimina le serie e le categorie generate predefinite
	ichart.getChartData().getCategories().clear();
	ichart.getChartData().getSeries().clear();
	// Aggiunta di nuove categorie
	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"));
	// Aggiunta di nuove serie
	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());
	// Ora popolano i dati delle serie
	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));
	// Imposta il colore della serie
	series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
	series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
	//Ora stiamo compilando un'altra serie di dati
	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));
	// Imposta il colore della serie
	series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
	series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
	// Imposta la posizione della legenda
	ichart.getLegend().setPosition(LegendPositionType.Bottom);
	// Impostazione delle proprietà del testo dell'asse delle categorie
	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"));
	// Impostazione delle proprietà del testo delle legende
	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"));
	// Impostazione delle proprietà del testo dell'asse dei valori
	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"));
	// Impostazione del formato del numero dell'asse dei valori
	ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
	ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
	// Impostazione del valore unitario principale del grafico
	ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
	ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
	// Salva la presentazione generata
	pres.save(outPath, SaveFormat.Pptx);
}
finally
{
	if (pres != null) pres.dispose();
}

Conclusione

In questo tutorial hai imparato come creare un grafico radar in una presentazione di PowerPoint utilizzando Aspose.Slides per Java. Puoi applicare questi concetti per visualizzare e presentare i tuoi dati in modo efficace nelle tue applicazioni Java.

Domande frequenti

Come posso cambiare il titolo del grafico?

Per cambiare il titolo del grafico, modificare la seguente riga:

ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");

Posso aggiungere più serie di dati al grafico radar?

Sì, puoi aggiungere più serie di dati seguendo i passaggi del “Passaggio 3” e del “Passaggio 4” per ogni serie aggiuntiva che desideri includere.

Come posso personalizzare i colori del grafico?

È possibile personalizzare i colori della serie modificando le righe che impostano ilSolidFillColor proprietà per ciascuna serie. Per esempio:

series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);

Come posso modificare le etichette e la formattazione degli assi?

Fare riferimento al “Passaggio 5” per personalizzare le etichette e la formattazione degli assi, inclusi la dimensione e il colore del carattere.

Come faccio a salvare il grafico in un formato di file diverso?

È possibile modificare il formato di output modificando l’estensione del file nel fileoutPath variabile e utilizzando l’appropriatoSaveFormat . Ad esempio, per salvare come PDF, utilizzareSaveFormat.Pdf.