Java 슬라이드에서 방사형 차트 만들기

Java 슬라이드에서 방사형 차트 만들기 소개

이 튜토리얼에서는 Aspose.Slides for Java API를 사용하여 방사형 차트를 만드는 과정을 안내합니다. 방사형 차트는 데이터를 원형 패턴으로 시각화하는 데 유용하므로 여러 데이터 계열을 더 쉽게 비교할 수 있습니다. Java 소스 코드와 함께 단계별 지침을 제공합니다.

전제 조건

시작하기 전에 Aspose.Slides for Java 라이브러리가 프로젝트에 통합되어 있는지 확인하세요. 다음에서 라이브러리를 다운로드할 수 있습니다.여기.

1단계: 프레젠테이션 설정

먼저 새 PowerPoint 프레젠테이션을 설정하고 여기에 슬라이드를 추가해 보겠습니다.

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

2단계: 방사형 차트 추가

다음으로 슬라이드에 방사형 차트를 추가하겠습니다. 차트의 위치와 크기를 지정하겠습니다.

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

3단계: 차트 데이터 설정

이제 차트 데이터를 설정하겠습니다. 여기에는 데이터 통합 문서 생성, 범주 추가 및 시리즈 추가가 포함됩니다.

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

// 차트 제목 설정
ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");

// 기본 생성된 시리즈 및 카테고리 삭제
ichart.getChartData().getCategories().clear();
ichart.getChartData().getSeries().clear();

// 새 카테고리 추가
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"));

// 새로운 시리즈 추가
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());

4단계: 계열 데이터 채우기

이제 방사형 차트의 계열 데이터를 채웁니다.

// 계열 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));

// 시리즈 색상 설정
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);

// 계열 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));

// 시리즈 색상 설정
series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);

5단계: 축 및 범례 사용자 정의

방사형 차트의 축과 범례를 사용자 정의해 보겠습니다.

// 범례 위치 설정
ichart.getLegend().setPosition(LegendPositionType.Bottom);

// 범주 축 텍스트 속성 설정
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"));

// 범례 텍스트 속성 설정
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"));

// 값 축 텍스트 속성 설정
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"));

// 설정값 축 번호 형식
ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");

// 차트 주요 단위 값 설정
ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);

6단계: 프레젠테이션 저장

마지막으로 생성된 프레젠테이션을 방사형 차트로 저장합니다.

.

pres.save(outPath, SaveFormat.Pptx);

그게 다야! Aspose.Slides for Java를 사용하여 PowerPoint 프레젠테이션에서 방사형 차트를 성공적으로 만들었습니다. 이제 특정 요구 사항에 맞게 이 예제를 추가로 사용자 정의할 수 있습니다.

Java 슬라이드에서 방사형 차트 생성을 위한 완전한 소스 코드

String outPath = "Your Output Directory" + File.separator + "RadarChart_Out.pptx";
Presentation pres = new Presentation();
try
{
	// 첫 번째 슬라이드에 액세스
	ISlide sld = pres.getSlides().get_Item(0);
	// 방사형 차트 추가
	IChart ichart = sld.getShapes().addChart(ChartType.Radar, 0, 0, 400, 400);
	// 차트 데이터 시트의 인덱스 설정
	int defaultWorksheetIndex = 0;
	// 차트 데이터 워크시트 가져오기
	IChartDataWorkbook fact = ichart.getChartData().getChartDataWorkbook();
	// 차트 제목 설정
	ichart.getChartTitle().addTextFrameForOverriding("Radar Chart");
	// 기본 생성된 시리즈 및 카테고리 삭제
	ichart.getChartData().getCategories().clear();
	ichart.getChartData().getSeries().clear();
	// 새 카테고리 추가
	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"));
	// 새로운 시리즈 추가
	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());
	// 이제 계열 데이터를 채우는 중입니다.
	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));
	// 시리즈 색상 설정
	series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
	series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
	//이제 다른 계열 데이터를 채우는 중입니다.
	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));
	// 시리즈 색상 설정
	series.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
	series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.ORANGE);
	// 범례 위치 설정
	ichart.getLegend().setPosition(LegendPositionType.Bottom);
	// 범주 축 텍스트 속성 설정
	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"));
	// 범례 텍스트 속성 설정
	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"));
	// 값 축 텍스트 속성 설정
	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"));
	// 설정값 축 번호 형식
	ichart.getAxes().getVerticalAxis().setNumberFormatLinkedToSource(false);
	ichart.getAxes().getVerticalAxis().setNumberFormat("\"$\"#,##0.00");
	// 차트 주요 단위 값 설정
	ichart.getAxes().getVerticalAxis().setAutomaticMajorUnit(false);
	ichart.getAxes().getVerticalAxis().setMajorUnit(1.25f);
	// 생성된 프레젠테이션 저장
	pres.save(outPath, SaveFormat.Pptx);
}
finally
{
	if (pres != null) pres.dispose();
}

결론

이 튜토리얼에서는 Aspose.Slides for Java를 사용하여 PowerPoint 프레젠테이션에서 방사형 차트를 만드는 방법을 배웠습니다. 이러한 개념을 적용하여 Java 애플리케이션에서 데이터를 효과적으로 시각화하고 표시할 수 있습니다.

FAQ

차트 제목을 어떻게 변경할 수 있나요?

차트 제목을 변경하려면 다음 줄을 수정하세요.

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

방사형 차트에 더 많은 데이터 시리즈를 추가할 수 있나요?

예, 포함하려는 각 추가 시리즈에 대해 “3단계” 및 “4단계"의 단계에 따라 더 많은 데이터 시리즈를 추가할 수 있습니다.

차트 색상을 어떻게 맞춤설정하나요?

설정하는 선을 수정하여 계열 색상을 사용자 정의할 수 있습니다.SolidFillColor 각 계열의 속성입니다. 예를 들어:

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

축 레이블과 서식을 어떻게 변경할 수 있나요?

글꼴 크기와 색상을 포함하여 축 레이블과 서식을 사용자 정의하려면 “5단계"를 참조하세요.

차트를 다른 파일 형식으로 저장하려면 어떻게 해야 합니까?

파일 확장자를 수정하여 출력 형식을 변경할 수 있습니다.outPath 변수를 사용하고 적절한SaveFormat . 예를 들어 PDF로 저장하려면 다음을 사용하세요.SaveFormat.Pdf.