파워포인트 ppt에서 차트 만들기 C#

차트는 PowerPoint 프레젠테이션 내의 데이터를 요약하고 시각적으로 나타내는 데 사용됩니다. 따라서 PowerPoint에서는 데이터를 시각화할 수 있는 다양한 차트 유형을 제공합니다. 그 중에서도 가장 일반적으로 사용되는 차트 유형에는 파이 차트, 꺾은선형 차트, 막대 차트, 히스토그램, 주식 차트 등이 있습니다. 이 기사에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 이러한 차트를 만드는 방법을 배웁니다.

PowerPoint에서 차트를 만드는 C# API

Aspose.Slides for .NET은 .NET 응용 프로그램 내에서 PowerPoint 프레젠테이션을 만들고 조작할 수 있는 C# 클래스 라이브러리입니다. 또한 API를 사용하면 차트를 만들고 프레젠테이션에 원활하게 추가할 수 있습니다. .NET용 Aspose.Slides는 DLL로 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

PM> Install-Package Aspose.Slides

C#을 사용하여 PowerPoint PPT에서 세로 막대형 차트 만들기

이 섹션에서는 세로 막대형 차트를 만들고 범주와 계열을 추가하여 해당 차트를 채우는 방법을 배웁니다. 다음은 이 작업을 수행하는 단계입니다.

데모를 위해 다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션에서 세로 막대형 차트를 만드는 방법을 보여줍니다.

// PPTX 파일을 나타내는 프레젠테이션 클래스 인스턴스화
Presentation pres = new Presentation();

// 첫 번째 슬라이드 액세스
ISlide sld = pres.Slides[0];

// 기본 데이터가 있는 차트 추가
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);

// 차트 제목 설정
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// 첫 번째 시리즈를 값 표시로 설정
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// 차트 데이터 시트의 인덱스 설정
int defaultWorksheetIndex = 0;

// 차트 데이터 워크시트 가져오기
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// 기본 생성 시리즈 및 카테고리 삭제
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;

// 새 시리즈 추가
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);

// 새 카테고리 추가
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));

// 첫 번째 차트 시리즈 가져오기
IChartSeries series = chart.ChartData.Series[0];

// 이제 시리즈 데이터 채우기
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// 시리즈의 채우기 색상 설정
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = System.Drawing.Color.Blue;


// 두 번째 차트 시리즈 가져오기
series = chart.ChartData.Series[1];

// 이제 시리즈 데이터 채우기
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));

// 시리즈의 채우기 색상 설정
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Orange;

// 첫 번째 레이블에는 카테고리 이름이 표시됩니다.
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;

lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;

// 세 번째 레이블의 값 표시
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";

// 차트로 프레젠테이션 저장
pres.Save("column-chart.pptx", SaveFormat.Pptx);

다음은 결과 세로 막대형 차트의 스크린샷입니다.

C#의 파워포인트에서 세로 막대형 차트 만들기

C#을 사용하여 PowerPoint PPT에서 분산형 차트 만들기

다음은 C#을 사용하여 PowerPoint 프레젠테이션에서 분산형 차트를 만드는 단계입니다.

  • Presentation 클래스를 사용하여 새 프레젠테이션을 만듭니다.
  • ISlide 개체에서 슬라이드의 참조를 가져옵니다.
  • 기본 데이터가 있는 ScatterWithSmoothLines 차트 유형을 추가하고 IChart 개체에서 해당 참조를 가져옵니다.
  • IChartDataWorkbook 개체로 차트 데이터 통합 문서에 액세스하고 기본 계열을 지웁니다.
  • 차트 데이터에 새 시리즈를 추가합니다.
  • IChartSeries 개체에 각 시리즈에 액세스하고 시리즈에 데이터 포인트를 추가합니다.
  • IChartSeries.Marker 속성을 사용하여 시리즈의 마커를 설정합니다.
  • Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션에서 분산형 차트를 만드는 방법을 보여줍니다.

// PPTX 파일을 나타내는 프레젠테이션 클래스 인스턴스화
Presentation pres = new Presentation();

// 첫 번째 슬라이드 액세스
ISlide sld = pres.Slides[0];

// 기본 데이터가 있는 차트 추가
IChart chart = sld.Shapes.AddChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);

// 기본 차트 데이터 워크시트 인덱스 가져오기
int defaultWorksheetIndex = 0;

// 차트 데이터 워크시트 가져오기
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// 데모 시리즈 삭제
chart.ChartData.Series.Clear();

// 새 시리즈 추가
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.Type);

// 첫 번째 차트 시리즈 가져오기
IChartSeries series = chart.ChartData.Series[0];

// 거기에 새로운 점(1:3)을 추가합니다.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 1), fact.GetCell(defaultWorksheetIndex, 2, 2, 3));

// 새 포인트 추가(2:10)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 2), fact.GetCell(defaultWorksheetIndex, 3, 2, 10));

// 시리즈 유형 편집
series.Type = ChartType.ScatterWithStraightLinesAndMarkers;

// 차트 시리즈 마커 변경
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Star;

// 두 번째 차트 시리즈 가져오기
series = chart.ChartData.Series[1];

// 거기에 새 점(5:2)을 추가합니다.
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 2, 3, 5), fact.GetCell(defaultWorksheetIndex, 2, 4, 2));

// 새 포인트 추가(3:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 3, 3, 3), fact.GetCell(defaultWorksheetIndex, 3, 4, 1));

// 새 포인트 추가(2:2)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 4, 3, 2), fact.GetCell(defaultWorksheetIndex, 4, 4, 2));

// 새 포인트 추가(5:1)
series.DataPoints.AddDataPointForScatterSeries(fact.GetCell(defaultWorksheetIndex, 5, 3, 5), fact.GetCell(defaultWorksheetIndex, 5, 4, 1));

// 차트 시리즈 마커 변경
series.Marker.Size = 10;
series.Marker.Symbol = MarkerStyleType.Circle;

// 차트로 프레젠테이션 저장
pres.Save("scattered-chart.pptx", SaveFormat.Pptx);

다음 스크린샷은 결과 분산형 차트를 보여줍니다.

C#의 파워포인트에서 분산형 차트 만들기

C#을 사용하여 PowerPoint PPT에서 원형 차트 만들기

다음은 C#을 사용하여 PowerPoint 프레젠테이션에서 원형 차트를 만드는 단계입니다.

다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션에서 원형 차트를 만드는 방법을 보여줍니다.

// PPTX 파일을 나타내는 Presentation 클래스 인스턴스화
Presentation presentation = new Presentation();

// 첫 번째 슬라이드 액세스
ISlide slides = presentation.Slides[0];

// 기본 데이터가 있는 차트 추가
IChart chart = slides.Shapes.AddChart(ChartType.Pie, 100, 100, 400, 400);

// 차트 제목 설정
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;

// 첫 번째 시리즈를 값 표시로 설정
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;

// 차트 데이터 시트의 인덱스 설정
int defaultWorksheetIndex = 0;

// 차트 데이터 워크시트 가져오기
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;

// 기본 생성 시리즈 및 카테고리 삭제
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();

// 새 카테고리 추가
chart.ChartData.Categories.Add(fact.GetCell(0, 1, 0, "First Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 2, 0, "2nd Qtr"));
chart.ChartData.Categories.Add(fact.GetCell(0, 3, 0, "3rd Qtr"));

// 새 시리즈 추가
IChartSeries series = chart.ChartData.Series.Add(fact.GetCell(0, 0, 1, "Series 1"), chart.Type);

// 이제 시리즈 데이터 채우기
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForPieSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));

// 새 버전에서 작동하지 않음
// 새 포인트 추가 및 섹터 색상 설정
// 시리즈.IsColorVaried = true;
chart.ChartData.SeriesGroups[0].IsColorVaried = true;

IChartDataPoint point = series.DataPoints[0];
point.Format.Fill.FillType = FillType.Solid;
point.Format.Fill.SolidFillColor.Color = Color.Orange;
// 섹터 경계 설정
point.Format.Line.FillFormat.FillType = FillType.Solid;
point.Format.Line.FillFormat.SolidFillColor.Color = Color.Gray;
point.Format.Line.Width = 3.0;
//point.Format.Line.Style = LineStyle.ThinThick;
//point.Format.Line.DashStyle = LineDashStyle.DashDot;

IChartDataPoint point1 = series.DataPoints[1];
point1.Format.Fill.FillType = FillType.Solid;
point1.Format.Fill.SolidFillColor.Color = Color.BlueViolet;

// 섹터 경계 설정
point1.Format.Line.FillFormat.FillType = FillType.Solid;
point1.Format.Line.FillFormat.SolidFillColor.Color = Color.Blue;
point1.Format.Line.Width = 3.0;
//point1.Format.Line.Style = LineStyle.Single;
//point1.Format.Line.DashStyle = LineDashStyle.LargeDashDot;

IChartDataPoint point2 = series.DataPoints[2];
point2.Format.Fill.FillType = FillType.Solid;
point2.Format.Fill.SolidFillColor.Color = Color.YellowGreen;

// 섹터 경계 설정
point2.Format.Line.FillFormat.FillType = FillType.Solid;
point2.Format.Line.FillFormat.SolidFillColor.Color = Color.Red;
point2.Format.Line.Width = 2.0;
//point2.Format.Line.Style = LineStyle.ThinThin;
//point2.Format.Line.DashStyle = LineDashStyle.LargeDashDotDot;

// 새 시리즈의 각 범주에 대한 사용자 지정 레이블 만들기
IDataLabel lbl1 = series.DataPoints[0].Label;

// lbl.ShowCategoryName = true;
lbl1.DataLabelFormat.ShowValue = true;

IDataLabel lbl2 = series.DataPoints[1].Label;
lbl2.DataLabelFormat.ShowValue = true;
lbl2.DataLabelFormat.ShowLegendKey = true;
lbl2.DataLabelFormat.ShowPercentage = true;

IDataLabel lbl3 = series.DataPoints[2].Label;
lbl3.DataLabelFormat.ShowSeriesName = true;
lbl3.DataLabelFormat.ShowPercentage = true;

// 차트의 지시선 표시
//series.Labels.DefaultDataLabelFormat.ShowLeaderLines = true;

// 원형 차트 섹터의 회전 각도 설정
chart.ChartData.SeriesGroups[0].FirstSliceAngle = 180;

// 차트로 프레젠테이션 저장
presentation.Save("pie-chart.pptx", SaveFormat.Pptx);

다음은 생성된 파이 차트의 스크린샷입니다.

C#의 파워포인트에서 원형 차트 만들기

C#을 사용하여 PowerPoint PPTX에 히스토그램 차트 추가

다음은 .NET용 Aspose.Slides를 사용하여 PowerPoint 프레젠테이션에서 히스토그램 차트를 만드는 단계입니다.

  • Presentation 클래스의 인스턴스를 만듭니다.
  • 인덱스로 ISlide 개체에서 슬라이드의 참조를 얻습니다.
  • 기본 데이터가 있는 히스토그램 차트를 추가합니다.
  • 기본 시리즈 및 범주를 지웁니다.
  • IChartDataWorkbook 개체의 차트 데이터 통합 문서에 액세스합니다.
  • 새 시리즈를 추가하고 IChartSeries 개체에서 참조를 가져옵니다.
  • 시리즈에 데이터 포인트를 추가합니다.
  • 차트 축의 집계 유형을 설정합니다.
  • Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 C#을 사용하여 히스토그램 차트를 만드는 방법을 보여줍니다.

// 프레젠테이션 로드 또는 만들기
using (Presentation pres = new Presentation())
{
    // 히스토그램 차트 추가
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.ChartData.Categories.Clear();
    chart.ChartData.Series.Clear();

    // 차트 데이터 통합 문서에 액세스
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // 통합 문서 지우기
    wb.Clear(0);

    // 차트 시리즈 추가
    IChartSeries series = chart.ChartData.Series.Add(ChartType.Histogram);
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A1", 15));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A2", -41));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A3", 16));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A4", 10));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A5", -23));
    series.DataPoints.AddDataPointForHistogramSeries(wb.GetCell(0, "A6", 16));

    chart.Axes.HorizontalAxis.AggregationType = AxisAggregationType.Automatic;

    // 프레젠테이션 저장
    pres.Save("histogram-chart.pptx", SaveFormat.Pptx);
}

다음은 생성된 히스토그램 차트의 스크린샷입니다.

C#의 파워포인트에서 히스토그램 차트 만들기

C#을 사용하여 PowerPoint에서 주식형 차트 만들기

주식형 차트는 또한 PowerPoint 프레젠테이션에서 일반적으로 사용되는 차트 유형 중 하나입니다. 다음은 주식형 차트를 만드는 단계입니다.

  • Presentation 클래스를 사용하여 새로운 PowerPoint 프레젠테이션을 만듭니다.
  • 슬라이드의 인덱스를 사용하여 ISlide 개체에서 슬라이드의 참조를 얻습니다.
  • OpenHighLowClose 차트를 슬라이드에 추가하고 IChart 개체에서 해당 참조를 가져옵니다.
  • 기본 시리즈 및 범주를 지웁니다.
  • IChartDataWorkbook 개체의 차트 데이터에 액세스합니다.
  • 차트에 새 시리즈 및 범주를 추가합니다.
  • 각 차트 시리즈에 액세스하고 데이터 포인트를 추가합니다.
  • HiLowLines 형식을 지정합니다.
  • Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션에 주식형 차트를 추가하는 방법을 보여줍니다.

// 프레젠테이션 로드 또는 만들기
using (Presentation pres = new Presentation())
{
    // 차트 추가
    IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // 카테고리 및 시리즈 지우기
    chart.ChartData.Series.Clear();
    chart.ChartData.Categories.Clear();

    // 차트 데이터 통합 문서에 액세스
    IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

    // 카테고리 추가
    chart.ChartData.Categories.Add(wb.GetCell(0, 1, 0, "A"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 2, 0, "B"));
    chart.ChartData.Categories.Add(wb.GetCell(0, 3, 0, "C"));

    // 시리즈 추가
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 1, "Open"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 2, "High"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 3, "Low"), chart.Type);
    chart.ChartData.Series.Add(wb.GetCell(0, 0, 4, "Close"), chart.Type);

    // 데이터 포인트 추가
    IChartSeries series = chart.ChartData.Series[0];

    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 1, 72));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 1, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 1, 38));

    series = chart.ChartData.Series[1];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 2, 172));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 2, 57));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 2, 57));

    series = chart.ChartData.Series[2];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 3, 12));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 3, 13));

    series = chart.ChartData.Series[3];
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 1, 4, 25));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 2, 4, 38));
    series.DataPoints.AddDataPointForStockSeries(wb.GetCell(0, 3, 4, 50));

    // 차트에 위/아래 막대가 있는지 여부 설정
    chart.ChartData.SeriesGroups[0].UpDownBars.HasUpDownBars = true;

    // 하이/로우 라인 형식 지정
    chart.ChartData.SeriesGroups[0].HiLowLinesFormat.Line.FillFormat.FillType = FillType.Solid;

    foreach (IChartSeries ser in chart.ChartData.Series)
    {
        ser.Format.Line.FillFormat.FillType = FillType.NoFill;
    }

    // 프레젠테이션 저장
    pres.Save("stock-chart.pptx", SaveFormat.Pptx);
}

다음은 생성된 주식 차트의 스크린샷입니다.

C#의 파워포인트에서 주식형 차트 만들기

더 많은 차트 유형

위에서 언급한 차트 외에도 PowerPoint 프레젠테이션에 추가할 수 있는 다른 유형의 차트도 있습니다. 지원되는 차트 유형에 대한 자세한 내용은 문서 문서를 참조하십시오.

무료 API 라이선스 받기

평가 제한 없이 API를 사용해 보려면 무료 임시 라이선스를 얻으십시오.

결론

이 문서에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 차트를 만드는 방법을 배웠습니다. 또한 단계별 가이드 및 코드 샘플에서는 세로 막대형 차트, 분산형 차트, 파이 차트, 히스토그램 및 주식형 차트를 추가하는 방법을 보여주었습니다. 문서를 사용하여 .NET용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다.

또한보십시오