JavaScript에서 PowerPoint 프레젠테이션 차트 만들기 및 업데이트
개요
이 문서에서는 Aspose.Slides를 사용하여 차트를 생성하고 사용자 지정하는 방법에 대한 포괄적인 가이드를 제공합니다. 슬라이드에 차트를 프로그래밍 방식으로 추가하고 데이터를 채우며, 특정 디자인 요구 사항에 맞게 다양한 서식 옵션을 적용하는 방법을 배우게 됩니다. 문서 전체에 걸쳐 자세한 코드 예제가 각 단계를 보여주며, 프레젠테이션 및 차트 객체 초기화부터 시리즈, 축, 범례 구성까지 설명합니다. 이 가이드를 따라하면 동적 차트 생성을 애플리케이션에 통합하는 방법을 확실히 이해하게 되어 데이터 기반 프레젠테이션을 손쉽게 만들 수 있습니다.
차트 만들기
차트는 데이터를 빠르게 시각화하고 표나 스프레드시트에서는 바로 드러나지 않을 통찰을 제공하는 데 도움을 줍니다.
차트를 만들어야 하는 이유
차트를 사용하면
- 한 슬라이드에 대량의 데이터를 집계, 압축 또는 요약할 수 있습니다.
- 데이터의 패턴과 추세를 드러낼 수 있습니다.
- 시간 경과에 따른 데이터의 방향성과 모멘텀, 혹은 특정 측정 단위에 대한 변화를 유추할 수 있습니다.
- 이상치, 변칙, 편차, 오류, 비논리적 데이터를 식별할 수 있습니다.
- 복잡한 데이터를 효과적으로 전달하거나 프레젠테이션할 수 있습니다.
PowerPoint에서는 삽입 기능을 통해 다양한 차트 템플릿을 사용해 차트를 만들 수 있습니다. Aspose.Slides를 사용하면 일반 차트(대중적인 차트 유형 기반)와 사용자 정의 차트를 모두 생성할 수 있습니다.
일반 차트 만들기
Steps: Create Chart
- Steps: JavaScript에서 PowerPoint 차트 만들기
- Steps: JavaScript에서 프레젠테이션 차트 만들기
- Steps: JavaScript에서 PowerPoint 프레젠테이션 차트 만들기
Code Steps:
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 데이터를 포함한 차트를 추가하고 원하는 차트 유형을 지정합니다.
- 차트에 제목을 추가합니다.
- 차트 데이터 워크시트에 접근합니다.
- 기본 시리즈와 범주를 모두 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터 포인트를 추가합니다.
- 차트 시리즈에 채우기 색을 지정합니다.
- 차트 시리즈에 레이블을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 일반 차트를 만드는 방법을 보여줍니다:
// PPTX 파일을 나타내는 프레젠테이션 클래스를 인스턴스화합니다
var pres = new aspose.slides.Presentation();
try {
// 첫 번째 슬라이드에 접근합니다
var sld = pres.getSlides().get_Item(0);
// 기본 데이터를 사용하여 차트를 추가합니다
var chart = sld.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 0, 0, 500, 500);
// 차트 제목을 설정합니다
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(aspose.slides.NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.hasTitle();
// 첫 번째 시리즈에 값을 표시하도록 설정합니다
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// 차트 데이터 시트의 인덱스를 설정합니다
var defaultWorksheetIndex = 0;
// 차트 데이터 워크시트를 가져옵니다
var fact = chart.getChartData().getChartDataWorkbook();
// 기본으로 생성된 시리즈와 범주를 삭제합니다
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var s = chart.getChartData().getSeries().size();
s = chart.getChartData().getCategories().size();
// 새 시리즈를 추가합니다
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.getType());
// 새 범주를 추가합니다
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// 첫 번째 차트 시리즈를 가져옵니다
var series = chart.getChartData().getSeries().get_Item(0);
// 이제 시리즈 데이터를 채웁니다
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// 시리즈의 채우기 색을 설정합니다
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
// 두 번째 차트 시리즈를 가져옵니다
series = chart.getChartData().getSeries().get_Item(1);
// 시리즈 데이터를 채웁니다
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
// 시리즈의 채우기 색을 설정합니다
series.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GREEN"));
// 새 시리즈의 각 범주에 대한 사용자 정의 레이블을 생성합니다
// 첫 번째 레이블에 범주 이름을 표시하도록 설정합니다
var lbl = series.getDataPoints().get_Item(0).getLabel();
lbl.getDataLabelFormat().setShowCategoryName(true);
lbl = series.getDataPoints().get_Item(1).getLabel();
lbl.getDataLabelFormat().setShowSeriesName(true);
// 세 번째 레이블에 값을 표시합니다
lbl = series.getDataPoints().get_Item(2).getLabel();
lbl.getDataLabelFormat().setShowValue(true);
lbl.getDataLabelFormat().setShowSeriesName(true);
lbl.getDataLabelFormat().setSeparator("/");
// 차트가 포함된 프레젠테이션을 저장합니다
pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
산점도 차트 만들기
산점도 차트(또는 산점 플롯, x‑y 그래프)는 두 변수 간의 패턴을 확인하거나 상관관계를 보여줄 때 자주 사용됩니다.
다음과 같은 경우에 산점도 차트를 사용할 수 있습니다.
- 쌍을 이루는 숫자 데이터가 있을 때
- 두 변수가 서로 잘 맞을 때
- 두 변수가 연관되어 있는지 판단하고 싶을 때
- 종속 변수에 대해 독립 변수가 여러 값을 가질 때
Steps: JavaScript에서 산점도 차트 만들기 | Steps: JavaScript에서 PowerPoint 산점도 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 산점도 차트 만들기
- Creating Normal Charts 섹션의 단계를 따릅니다.
- 세 번째 단계에서 차트를 추가할 때 다음 중 하나의 차트 유형을 지정합니다.
- ChartType.ScatterWithMarkers - 산점도 차트를 나타냅니다.
- ChartType.ScatterWithSmoothLinesAndMarkers - 곡선으로 연결된 산점도 차트이며 데이터 마커가 있습니다.
- ChartType.ScatterWithSmoothLines - 곡선으로 연결된 산점도 차트이며 데이터 마커가 없습니다.
- ChartType.ScatterWithStraightLinesAndMarkers - 직선으로 연결된 산점도 차트이며 데이터 마커가 있습니다.
- ChartType.ScatterWithStraightLines - 직선으로 연결된 산점도 차트이며 데이터 마커가 없습니다.
다음 JavaScript 코드는 다양한 마커 시리즈를 사용하여 산점도 차트를 만드는 방법을 보여줍니다:
// PPTX 파일을 나타내는 프레젠테이션 클래스를 인스턴스화합니다
var pres = new aspose.slides.Presentation();
try {
// 첫 번째 슬라이드에 접근합니다
var slide = pres.getSlides().get_Item(0);
// 기본 차트를 생성합니다
var chart = slide.getShapes().addChart(aspose.slides.ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// 기본 차트 데이터 워크시트 인덱스를 가져옵니다
var defaultWorksheetIndex = 0;
// 차트 데이터 워크시트를 가져옵니다
var fact = chart.getChartData().getChartDataWorkbook();
// 데모 시리즈를 삭제합니다
chart.getChartData().getSeries().clear();
// 새 시리즈를 추가합니다
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.getType());
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.getType());
// 첫 번째 차트 시리즈를 가져옵니다
var series = chart.getChartData().getSeries().get_Item(0);
// 시리즈에 새로운 포인트 (1:3)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
// 새로운 포인트 (2:10)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
// 시리즈 유형을 변경합니다
series.setType(aspose.slides.ChartType.ScatterWithStraightLinesAndMarkers);
// 차트 시리즈 마커를 변경합니다
series.getMarker().setSize(10);
series.getMarker().setSymbol(aspose.slides.MarkerStyleType.Star);
// 두 번째 차트 시리즈를 가져옵니다
series = chart.getChartData().getSeries().get_Item(1);
// 그곳에 새로운 포인트 (5:2)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
// 새로운 포인트 (3:1)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
// 새로운 포인트 (2:2)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
// 새로운 포인트 (5:1)를 추가합니다
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
// 차트 시리즈 마커를 변경합니다
series.getMarker().setSize(10);
series.getMarker().setSymbol(aspose.slides.MarkerStyleType.Circle);
pres.save("AsposeChart_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
원형 차트 만들기
원형 차트는 특히 범주형 레이블에 숫자 값이 포함된 경우 데이터의 전체 대비 부분 관계를 나타내는 데 가장 적합합니다. 하지만 레이블이나 파트가 너무 많을 경우 막대 차트를 고려하는 것이 좋습니다.
Steps: JavaScript에서 원형 차트 만들기 | Steps: JavaScript에서 PowerPoint 원형 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 원형 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스로 슬라이드의 참조를 얻습니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.Pie)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- 차트에 새로운 포인트를 추가하고 원형 차트 섹터에 사용자 정의 색을 지정합니다.
- 시리즈에 레이블을 설정합니다.
- 시리즈 레이블에 리더 라인을 설정합니다.
- 원형 차트 슬라이드의 회전 각도를 지정합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 원형 차트를 만드는 방법을 보여줍니다:
// PPTX 파일을 나타내는 프레젠테이션 클래스를 인스턴스화합니다
var pres = new aspose.slides.Presentation();
try {
// 첫 번째 슬라이드에 접근합니다
var slides = pres.getSlides().get_Item(0);
// 기본 데이터가 있는 차트를 추가합니다
var chart = slides.getShapes().addChart(aspose.slides.ChartType.Pie, 100, 100, 400, 400);
// 차트 제목을 설정합니다
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(aspose.slides.NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// 첫 번째 시리즈에 값을 표시하도록 설정합니다
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// 차트 데이터 시트의 인덱스를 설정합니다
var defaultWorksheetIndex = 0;
// 차트 데이터 워크시트를 가져옵니다
var fact = chart.getChartData().getChartDataWorkbook();
// 기본으로 생성된 시리즈와 범주를 삭제합니다
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// 새 범주를 추가합니다
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "First Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
// 새 시리즈를 추가합니다
var series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
// 시리즈 데이터를 채웁니다
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
// 새로운 버전에서 작동하지 않음
// 새 포인트를 추가하고 섹터 색을 설정합니다
// series.IsColorVaried = true;
chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
var point = series.getDataPoints().get_Item(0);
point.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
point.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "CYAN"));
// 섹터 테두리를 설정합니다
point.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "GRAY"));
point.getFormat().getLine().setWidth(3.0);
point.getFormat().getLine().setStyle(aspose.slides.LineStyle.ThinThick);
point.getFormat().getLine().setDashStyle(aspose.slides.LineDashStyle.DashDot);
var point1 = series.getDataPoints().get_Item(1);
point1.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
point1.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "ORANGE"));
// 섹터 테두리를 설정합니다
point1.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLUE"));
point1.getFormat().getLine().setWidth(3.0);
point1.getFormat().getLine().setStyle(aspose.slides.LineStyle.Single);
point1.getFormat().getLine().setDashStyle(aspose.slides.LineDashStyle.LargeDashDot);
var point2 = series.getDataPoints().get_Item(2);
point2.getFormat().getFill().setFillType(java.newByte(aspose.slides.FillType.Solid));
point2.getFormat().getFill().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "YELLOW"));
// 섹터 테두리를 설정합니다
point2.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "RED"));
point2.getFormat().getLine().setWidth(2.0);
point2.getFormat().getLine().setStyle(aspose.slides.LineStyle.ThinThin);
point2.getFormat().getLine().setDashStyle(aspose.slides.LineDashStyle.LargeDashDotDot);
// 새 시리즈의 각 범주에 대한 사용자 정의 레이블을 생성합니다
var lbl1 = series.getDataPoints().get_Item(0).getLabel();
// lbl.ShowCategoryName = true;
lbl1.getDataLabelFormat().setShowValue(true);
var lbl2 = series.getDataPoints().get_Item(1).getLabel();
lbl2.getDataLabelFormat().setShowValue(true);
lbl2.getDataLabelFormat().setShowLegendKey(true);
lbl2.getDataLabelFormat().setShowPercentage(true);
var lbl3 = series.getDataPoints().get_Item(2).getLabel();
lbl3.getDataLabelFormat().setShowSeriesName(true);
lbl3.getDataLabelFormat().setShowPercentage(true);
// 차트에 리더 라인을 표시합니다
series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
// 원형 차트 섹터의 회전 각도를 설정합니다
chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
// 차트가 포함된 프레젠테이션을 저장합니다
pres.save("PieChart_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
선 차트 만들기
선 차트(또는 라인 그래프)는 시간에 따른 값 변화를 나타낼 때 가장 적합합니다. 선 차트를 사용하면 많은 데이터를 동시에 비교하고, 시간에 따른 변화와 추세를 추적하며, 데이터 시리즈의 이상치를 강조할 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(
ChartType.Line)을 지정하여 차트를 추가합니다. - 차트 데이터 IChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 선 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var lineChart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Line, 10, 50, 600, 350);
pres.save("lineChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
기본적으로 선 차트의 포인트는 직선으로 연결됩니다. 포인트를 대시선으로 연결하고 싶다면 다음과 같이 원하는 대시 유형을 지정합니다:
var lineChart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Line, 10, 50, 600, 350);
for (let i = 0; i < lineChart.getChartData().getSeries().size(); i++) {
let series = lineChart.getChartData().getSeries().get_Item(i);
series.getFormat().getLine().setDashStyle(aspose.slides.LineDashStyle.Dash);
});
트리맵 차트 만들기
트리맵 차트는 판매 데이터에서 각 카테고리의 상대적 크기를 표시하고 동시에 큰 기여 항목에 주의를 끌고자 할 때 가장 적합합니다.
Steps: JavaScript에서 트리맵 차트 만들기 | Steps: JavaScript에서 PowerPoint 트리맵 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 트리맵 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.TreeMap)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 트리맵 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Treemap, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
var wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
// 분기 1
var leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
leaf.getGroupingLevels().setGroupingItem(2, "Branch1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));
// 분기 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
leaf.getGroupingLevels().setGroupingItem(2, "Branch2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));
var series = chart.getChartData().getSeries().add(aspose.slides.ChartType.Treemap);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));
series.setParentLabelLayout(aspose.slides.ParentLabelLayoutType.Overlapping);
pres.save("Treemap.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
주식 차트 만들기
Steps: JavaScript에서 주식 차트 만들기 | Steps: JavaScript에서 PowerPoint 주식 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 주식 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스로 슬라이드의 참조를 얻습니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.OpenHighLowClose)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- HiLowLines 서식을 지정합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 주식 차트를 만드는 예시입니다:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.OpenHighLowClose, 50, 50, 600, 400);
var wb = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));
chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());
var series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));
series = chart.getChartData().getSeries().get_Item(1);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));
series = chart.getChartData().getSeries().get_Item(2);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));
series = chart.getChartData().getSeries().get_Item(3);
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));
chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
for (let i = 0; i < chart.getChartData().getSeries().size(); i++) {
let ser = chart.getChartData().getSeries().get_Item(i);
ser.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
}
pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
상자 수염 차트 만들기
Steps: JavaScript에서 상자 수염 차트 만들기 | Steps: JavaScript에서 PowerPoint 상자 수염 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 상자 수염 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.BoxAndWhisker)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 상자 수염 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.BoxAndWhisker, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
var wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 1"));
var series = chart.getChartData().getSeries().add(aspose.slides.ChartType.BoxAndWhisker);
series.setQuartileMethod(aspose.slides.QuartileMethodType.Exclusive);
series.setShowMeanLine(true);
series.setShowMeanMarkers(true);
series.setShowInnerPoints(true);
series.setShowOutlierPoints(true);
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));
pres.save("BoxAndWhisker.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
퍼널 차트 만들기
Steps: JavaScript에서 퍼널 차트 만들기 | Steps: JavaScript에서 PowerPoint 퍼널 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 퍼널 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.Funnel)을 지정하여 차트를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 퍼널 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Funnel, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
var wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 2"));
chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 3"));
chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 4"));
chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 5"));
chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 6"));
var series = chart.getChartData().getSeries().add(aspose.slides.ChartType.Funnel);
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));
pres.save("Funnel.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
선버스트 차트 만들기
Steps: JavaScript에서 선버스트 차트 만들기 | Steps: JavaScript에서 PowerPoint 선버스트 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 선버스트 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.sunburst)을 지정하여 차트를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 선버스트 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Sunburst, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
var wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
// 분기 1
var leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
leaf.getGroupingLevels().setGroupingItem(2, "Branch1");
chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem2");
chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));
// 분기 2
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
leaf.getGroupingLevels().setGroupingItem(2, "Branch2");
chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));
leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
leaf.getGroupingLevels().setGroupingItem(1, "Stem4");
chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));
var series = chart.getChartData().getSeries().add(aspose.slides.ChartType.Sunburst);
series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
pres.save("Sunburst.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
히스토그램 차트 만들기
Steps: JavaScript에서 히스토그램 차트 만들기 | Steps: JavaScript에서 PowerPoint 히스토그램 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 히스토그램 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.Histogram)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 히스토그램 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Histogram, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
var wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
var series = chart.getChartData().getSeries().add(aspose.slides.ChartType.Histogram);
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));
chart.getAxes().getHorizontalAxis().setAggregationType(aspose.slides.AxisAggregationType.Automatic);
레이다 차트 만들기
Steps: JavaScript에서 레이다 차트 만들기 | Steps: JavaScript에서 PowerPoint 레이다 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 레이다 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 데이터를 포함하고 원하는 차트 유형(
ChartType.Radar)을 지정하여 차트를 추가합니다. - 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 레이다 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Radar, 20, 20, 400, 300);
pres.save("Radar-chart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
다중 카테고리 차트 만들기
Steps: JavaScript에서 다중 카테고리 차트 만들기 | Steps: JavaScript에서 PowerPoint 다중 카테고리 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 다중 카테고리 차트 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 인덱스를 통해 슬라이드의 참조를 가져옵니다.
- 기본 데이터를 포함하고 원하는 유형(ChartType.ClusteredColumn)을 지정하여 차트를 추가합니다.
- 차트 데이터 ChartDataWorkbook에 접근합니다.
- 기본 시리즈와 범주를 삭제합니다.
- 새로운 시리즈와 범주를 추가합니다.
- 차트 시리즈에 새로운 데이터를 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 다중 카테고리 차트를 만드는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var ch = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 600, 450);
ch.getChartData().getSeries().clear();
ch.getChartData().getCategories().clear();
var fact = ch.getChartData().getChartDataWorkbook();
fact.clear(0);
var defaultWorksheetIndex = 0;
var category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
category.getGroupingLevels().setGroupingItem(1, "Group1");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
category.getGroupingLevels().setGroupingItem(1, "Group2");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
category.getGroupingLevels().setGroupingItem(1, "Group3");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));
category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
category.getGroupingLevels().setGroupingItem(1, "Group4");
category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));
// 시리즈 추가
var series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 1"), aspose.slides.ChartType.ClusteredColumn);
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
// 차트가 포함된 프레젠테이션 저장
pres.save("AsposeChart_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
맵 차트 만들기
맵 차트는 데이터를 포함한 영역을 시각화한 것입니다. 맵 차트는 지리적 영역별로 데이터나 값을 비교할 때 가장 적합합니다.
Steps: JavaScript에서 맵 차트 만들기 | Steps: JavaScript에서 PowerPoint 맵 차트 만들기 | Steps: JavaScript에서 PowerPoint 프레젠테이션 맵 차트 만들기
다음 JavaScript 코드는 맵 차트를 만드는 방법을 보여줍니다:
let pres = new aspose.slides.Presentation();
try {
let chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Map, 50, 50, 500, 400);
pres.save("mapChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
복합 차트 만들기
복합 차트(또는 콤보 차트)는 하나의 그래프에 두 개 이상의 차트 유형을 결합합니다. 이 차트는 두 개 이상의 데이터 세트를 강조, 비교 또는 차이를 검토할 수 있게 하여 데이터 간 관계를 식별하는 데 도움을 줍니다.

다음 JavaScript 코드는 위 이미지에 표시된 복합 차트를 PowerPoint 프레젠테이션에 만드는 방법을 보여줍니다:
function createComboChart() {
let presentation = new aspose.slides.Presentation();
let slide = presentation.getSlides().get_Item(0);
try {
let chart = createChartWithFirstSeries(slide);
addSecondSeriesToChart(chart);
addThirdSeriesToChart(chart);
setPrimaryAxesFormat(chart);
setSecondaryAxesFormat(chart);
presentation.save("combo-chart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
}
function createChartWithFirstSeries(slide) {
let chart = slide.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 50, 50, 600, 400);
// 차트 제목을 설정합니다.
chart.setTitle(true);
chart.getChartTitle().addTextFrameForOverriding("Chart Title");
chart.getChartTitle().setOverlay(false);
let titleParagraph = chart.getChartTitle().getTextFrameForOverriding().getParagraphs().get_Item(0);
let titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
titleFormat.setFontBold(java.newByte(aspose.slides.NullableBool.False));
titleFormat.setFontHeight(18);
// 차트 범례를 설정합니다.
chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom);
chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(12);
// 기본으로 생성된 시리즈와 범주를 삭제합니다.
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
const worksheetIndex = 0;
let workbook = chart.getChartData().getChartDataWorkbook();
// 새 범주를 추가합니다.
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Category 1"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Category 2"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Category 3"));
chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Category 4"));
// 첫 번째 시리즈를 추가합니다.
let seriesNameCell = workbook.getCell(worksheetIndex, 0, 1, "Series 1");
let series = chart.getChartData().getSeries().add(seriesNameCell, chart.getType());
series.getParentSeriesGroup().setOverlap(java.newByte(-25));
series.getParentSeriesGroup().setGapWidth(220);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 4.3));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 2.5));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 3.5));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 4.5));
return chart;
}
function addSecondSeriesToChart(chart) {
let workbook = chart.getChartData().getChartDataWorkbook();
const worksheetIndex = 0;
let seriesNameCell = workbook.getCell(worksheetIndex, 0, 2, "Series 2");
let series = chart.getChartData().getSeries().add(seriesNameCell, aspose.slides.ChartType.ClusteredColumn);
series.getParentSeriesGroup().setOverlap(java.newByte(-25));
series.getParentSeriesGroup().setGapWidth(220);
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 2.4));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 4.4));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 1.8));
series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 2, 2.8));
}
function addThirdSeriesToChart(chart) {
let workbook = chart.getChartData().getChartDataWorkbook();
const worksheetIndex = 0;
let seriesNameCell = workbook.getCell(worksheetIndex, 0, 3, "Series 3");
let series = chart.getChartData().getSeries().add(seriesNameCell, aspose.slides.ChartType.Line);
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 1, 3, 2.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 2, 3, 2.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 3, 3, 3.0));
series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 4, 3, 5.0));
series.setPlotOnSecondAxis(true);
}
function setPrimaryAxesFormat(chart) {
// 가로 축을 설정합니다.
let horizontalAxis = chart.getAxes().getHorizontalAxis();
horizontalAxis.getTextFormat().getPortionFormat().setFontHeight(12);
horizontalAxis.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
setAxisTitle(horizontalAxis, "X Axis");
// 세로 축을 설정합니다.
let verticalAxis = chart.getAxes().getVerticalAxis();
verticalAxis.getTextFormat().getPortionFormat().setFontHeight(12);
verticalAxis.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
setAxisTitle(verticalAxis, "Y Axis 1");
// 세로 주요 그리드선 색상을 설정합니다.
let majorGridLinesFormat = verticalAxis.getMajorGridLinesFormat().getLine().getFillFormat();
majorGridLinesFormat.setFillType(java.newByte(aspose.slides.FillType.Solid));
majorGridLinesFormat.getSolidFillColor().setColor(java.newInstanceSync("java.awt.Color", 217, 217, 217));
}
function setSecondaryAxesFormat(chart) {
// 보조 가로 축을 설정합니다.
let secondaryHorizontalAxis = chart.getAxes().getSecondaryHorizontalAxis();
secondaryHorizontalAxis.setPosition(aspose.slides.AxisPositionType.Bottom);
secondaryHorizontalAxis.setCrossType(aspose.slides.CrossesType.Maximum);
secondaryHorizontalAxis.setVisible(false);
secondaryHorizontalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
secondaryHorizontalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
// 보조 세로 축을 설정합니다.
let secondaryVerticalAxis = chart.getAxes().getSecondaryVerticalAxis();
secondaryVerticalAxis.setPosition(aspose.slides.AxisPositionType.Right);
secondaryVerticalAxis.getTextFormat().getPortionFormat().setFontHeight(12);
secondaryVerticalAxis.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
secondaryVerticalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
secondaryVerticalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
setAxisTitle(secondaryVerticalAxis, "Y Axis 2");
}
function setAxisTitle(axis, axisTitle) {
axis.setTitle(true);
axis.getTitle().setOverlay(false);
let titleParagraph = axis.getTitle().addTextFrameForOverriding(axisTitle).getParagraphs().get_Item(0);
let titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
titleFormat.setFontBold(java.newByte(aspose.slides.NullableBool.False));
titleFormat.setFontHeight(12);
}
차트 업데이트
Steps: JavaScript에서 PowerPoint 차트 업데이트 | Steps: JavaScript에서 프레젠테이션 차트 업데이트 | Steps: JavaScript에서 PowerPoint 프레젠테이션 차트 업데이트
- 차트를 업데이트하려는 프레젠테이션을 나타내는 Presentation 클래스를 인스턴스화합니다.
- 인덱스를 사용해 슬라이드 참조를 얻습니다.
- 모든 도형을 순회하며 원하는 차트를 찾습니다.
- 차트 데이터 워크시트에 접근합니다.
- 시리즈 값을 변경하여 차트 데이터 시리즈를 수정합니다.
- 새로운 시리즈를 추가하고 데이터를 채웁니다.
- 수정된 프레젠테이션을 PPTX 파일로 기록합니다.
다음 JavaScript 코드는 차트를 업데이트하는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
// 첫 번째 슬라이드 마커에 접근합니다
var sld = pres.getSlides().get_Item(0);
// 기본 데이터가 있는 차트를 가져옵니다
var chart = sld.getShapes().get_Item(0);
// 차트 데이터 시트의 인덱스를 설정합니다
var defaultWorksheetIndex = 0;
// 차트 데이터 워크시트를 가져옵니다
var fact = chart.getChartData().getChartDataWorkbook();
// 차트 카테고리 이름을 변경합니다
fact.getCell(defaultWorksheetIndex, 1, 0, "Modified Category 1");
fact.getCell(defaultWorksheetIndex, 2, 0, "Modified Category 2");
// 첫 번째 차트 시리즈를 가져옵니다
var series = chart.getChartData().getSeries().get_Item(0);
// 이제 시리즈 데이터를 업데이트합니다
fact.getCell(defaultWorksheetIndex, 0, 1, "New_Series1"); // 시리즈 이름을 수정합니다
series.getDataPoints().get_Item(0).getValue().setData(90);
series.getDataPoints().get_Item(1).getValue().setData(123);
series.getDataPoints().get_Item(2).getValue().setData(44);
// 두 번째 차트 시리즈를 가져옵니다
series = chart.getChartData().getSeries().get_Item(1);
// 이제 시리즈 데이터를 업데이트합니다
fact.getCell(defaultWorksheetIndex, 0, 2, "New_Series2"); // 시리즈 이름을 수정합니다
series.getDataPoints().get_Item(0).getValue().setData(23);
series.getDataPoints().get_Item(1).getValue().setData(67);
series.getDataPoints().get_Item(2).getValue().setData(99);
// 이제 새 시리즈를 추가합니다
chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Series 3"), chart.getType());
// 세 번째 차트 시리즈를 가져옵니다
series = chart.getChartData().getSeries().get_Item(2);
// 이제 시리즈 데이터를 채웁니다
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));
chart.setType(aspose.slides.ChartType.ClusteredCylinder);
// 차트가 포함된 프레젠테이션을 저장합니다
pres.save("AsposeChartModified_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
차트 데이터 범위 설정
차트의 데이터 범위를 설정하려면 다음을 수행합니다.
- 차트를 포함하는 프레젠테이션을 나타내는 Presentation 클래스를 인스턴스화합니다.
- 인덱스를 통해 슬라이드 참조를 얻습니다.
- 모든 도형을 순회하며 원하는 차트를 찾습니다.
- 차트 데이터를 접근하고 범위를 설정합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 JavaScript 코드는 차트의 데이터 범위를 설정하는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var chart = slide.getShapes().get_Item(0);
chart.getChartData().setRange("Sheet1!A1:B4");
pres.save("SetDataRange_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
차트 기본 마커 사용
차트에 기본 마커를 사용하면 각 차트 시리즈에 자동으로 서로 다른 기본 마커 기호가 적용됩니다.
다음 JavaScript 코드는 차트 시리즈 마커를 자동으로 설정하는 방법을 보여줍니다:
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var chart = slide.getShapes().addChart(aspose.slides.ChartType.LineWithMarkers, 10, 10, 400, 400);
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
var fact = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
var series = chart.getChartData().getSeries().get_Item(0);
chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "C2"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 1, 23));
chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "C3"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 1, -10));
chart.getChartData().getCategories().add(fact.getCell(0, 4, 0, "C4"));
series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 1, null));
chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "Series 2"), chart.getType());
// 두 번째 차트 시리즈를 가져옵니다
var series2 = chart.getChartData().getSeries().get_Item(1);
// 이제 시리즈 데이터를 채웁니다
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 2, 30));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 2, 10));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 2, 60));
series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 2, 40));
chart.setLegend(true);
chart.getLegend().setOverlay(false);
pres.save("DefaultMarkersInChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
Aspose.Slides에서 지원하는 차트 유형은 무엇인가요?
Aspose.Slides는 막대, 선, 원형, 영역, 산점, 히스토그램, 레이다 등 다양한 차트 유형을 지원합니다. 이 유연성을 통해 데이터 시각화 요구에 가장 적합한 차트 유형을 선택할 수 있습니다.
슬라이드에 새 차트를 추가하려면 어떻게 해야 하나요?
먼저 Presentation 클래스의 인스턴스를 만든 뒤 인덱스로 원하는 슬라이드를 검색하고, 차트를 추가하는 메서드를 호출하면서 차트 유형과 초기 데이터를 지정하면 됩니다. 이 과정을 통해 차트를 프레젠테이션에 직접 삽입할 수 있습니다.
차트에 표시되는 데이터를 어떻게 업데이트할 수 있나요?
차트의 데이터 워크북(ChartDataWorkbook)에 접근하여 기본 시리즈와 범주를 삭제한 뒤 사용자 정의 데이터를 추가하면 차트 데이터를 프로그래밍 방식으로 새롭게 반영할 수 있습니다.
차트의 모양을 커스터마이즈할 수 있나요?
네, Aspose.Slides는 광범위한 커스터마이징 옵션을 제공합니다. 색상, 글꼴, 레이블, 범례 및 기타 서식 요소를 수정하여 차트를 원하는 디자인 요구 사항에 맞게 조정할 수 있습니다.