
차트는 데이터의 그래픽 표현에 사용되므로 분석이 더 쉽습니다. 따라서 MS PowerPoint는 다양한 방식으로 데이터를 시각화할 수 있는 다양한 차트를 지원합니다. 그 중에서도 가장 일반적으로 사용되는 차트에는 파이 차트, 꺾은선형 차트, 막대 차트, 히스토그램, 주식 차트 등이 있습니다. 이 기사에서는 Python에서 PowerPoint PPT 또는 PPTX로 이러한 차트를 만드는 방법을 배웁니다.
- PowerPoint에서 차트를 만드는 Python 라이브러리
- Python의 PowerPoint에서 세로 막대형 차트 만들기
- Python에서 PPT로 분산형 차트 만들기
- Python에서 PPT에 원형 차트 추가
- Python의 PPT에 히스토그램 차트 추가
- Python의 PowerPoint에서 주식 차트 만들기
- 차트에 대한 추가 정보
PowerPoint PPT에서 차트를 만드는 Python 라이브러리
PowerPoint PPT/PPTX에서 차트를 생성하기 위해 Aspose.Slides for Python via .NET을 사용합니다. PowerPoint 프레젠테이션을 만들고 조작하기 위한 완전한 패키지를 제공하는 기능이 풍부한 라이브러리입니다. 다음 pip 명령을 사용하여 PyPI에서 설치할 수 있습니다.
> pip install aspose.slides
Aspose.Slides는 프레젠테이션에 동적으로 추가할 수 있는 다양한 차트를 지원합니다. 다음 섹션에서는 몇 가지 인기 있는 유형의 차트를 만드는 방법을 보여줍니다.
Python에서 PowerPoint PPT로 세로 막대형 차트 만들기
이 섹션에서는 Python의 PowerPoint 프레젠테이션에서 세로 막대형 차트를 만드는 방법을 배웁니다. 다음은 이 작업을 수행하는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만듭니다.
- 개체의 Presentations.slides에서 슬라이드 참조를 가져옵니다.
- Slide.shapes.add\chart() 메서드를 사용하여 기본 데이터가 있는 클러스터형 세로 막대형 차트를 추가합니다.
- 차트 제목 및 텍스트 서식과 같은 기타 속성을 설정합니다.
- Chart.chart\data.chart\data\workbook() 메서드를 사용하여 차트 데이터 통합 문서에 개체에 액세스합니다.
- Chart.chart\data.series.clear() 및 Chart.chart\data.categories.clear() 메서드를 각각 사용하여 차트 데이터에서 모든 기본 시리즈 및 범주를 지웁니다.
- 새로운 시리즈와 카테고리를 추가하세요.
- 각 차트 시리즈에 개체에 액세스하고 데이터 요소를 개체에 추가합니다.
- 차트 시리즈의 채우기 색상을 추가하고 레이블을 설정합니다.
- 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Python의 PowerPoint PPT에서 세로 막대형 차트를 만드는 방법을 보여줍니다.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
sld = pres.slides[0]
# Add chart with default data
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# Add new categories
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# Take first chart series
series = chart.chart_data.series[0]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Take second chart series
series = chart.chart_data.series[1]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# First label will show category name
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# Show value for third label
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# Save presentation
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
다음은 결과 세로 막대형 차트의 스크린샷입니다.

Python에서 PowerPoint PPT로 분산형 차트 만들기
다음은 Python의 PowerPoint PPT에서 분산형 차트를 만드는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만듭니다.
- 개체의 Presentations.slides에서 슬라이드 참조를 가져옵니다.
- Slide.shapes.add\chart() 메서드를 사용하여 기본 데이터로 분산형 차트를 추가합니다.
- Chart.chart\data.chart\data\workbook() 메서드를 사용하여 차트 데이터 통합 문서에 개체에 액세스합니다.
- 차트 데이터에 새 시리즈를 추가합니다.
- 각 계열에 개체에 액세스하고 계열에 데이터 요소를 추가합니다.
- 시리즈의 마커를 설정합니다.
- 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Python의 PowerPoint PPTX에서 분산형 차트를 만드는 방법을 보여줍니다.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Create the default chart
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Get the default chart data worksheet index
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete demo series
chart.chart_data.series.clear()
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.type)
# Take first chart series
series = chart.chart_data.series[0]
# Add new point (1:3)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 1), fact.get_cell(defaultWorksheetIndex, 2, 2, 3))
# Add new point (2:10)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 2), fact.get_cell(defaultWorksheetIndex, 3, 2, 10))
# Edit the type of series
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Take second chart series
series = chart.chart_data.series[1]
# Add new point (5:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 3, 5), fact.get_cell(defaultWorksheetIndex, 2, 4, 2))
# Add new point (3:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 3, 3), fact.get_cell(defaultWorksheetIndex, 3, 4, 1))
# Add new point (2:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 4, 3, 2), fact.get_cell(defaultWorksheetIndex, 4, 4, 2))
# Add new point (5:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 5, 3, 5), fact.get_cell(defaultWorksheetIndex, 5, 4, 1))
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Save presentation
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
다음 스크린샷은 결과 분산형 차트를 보여줍니다.

Python에서 PowerPoint PPT로 원형 차트 만들기
다음은 Python에서 PowerPoint PPT로 원형 차트를 만드는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만듭니다.
- 개체의 Presentations.slides에서 슬라이드 참조를 가져옵니다.
- Slide.shapes.add\chart() 메서드를 사용하여 기본 데이터가 있는 원형 차트를 추가합니다.
- 차트 제목 및 텍스트 서식과 같은 기타 속성을 설정합니다.
- 값의 가시성을 설정합니다.
- Chart.chart\data.series.clear() 및 Chart.chart\data.categories.clear() 메서드를 각각 사용하여 차트 데이터에서 모든 기본 시리즈 및 범주를 지웁니다.
- Chart.chart\data.chart\data\workbook() 메서드를 사용하여 차트 데이터 통합 문서에 개체에 액세스합니다.
- 차트 데이터에 새 범주를 추가합니다.
- 차트 데이터에 새 시리즈를 추가합니다.
- 각 계열에 개체에 액세스하고 계열에 데이터 요소를 추가합니다.
- 각 데이터 포인트에 액세스하고 해당 형식을 설정합니다.
- 데이터 요소의 데이터 레이블에 서식을 적용합니다.
- 지시선과 회전 각도를 설정합니다.
- 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Python의 PowerPoint PPTX에서 원형 차트를 만드는 방법을 보여줍니다.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as presentation:
# Access first slide
slide = presentation.slides[0]
# Add chart with default data
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Add new categories
chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr"))
# Add new series
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Populate series data
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Add new points and set sector color
chart.chart_data.series_groups[0].is_color_varied = True
point = series.data_points[0]
point.format.fill.fill_type = slides.FillType.SOLID
point.format.fill.solid_fill_color.color = drawing.Color.orange
# Set sector border
point.format.line.fill_format.fill_type = slides.FillType.SOLID
point.format.line.fill_format.solid_fill_color.color = drawing.Color.gray
point.format.line.width = 3.0
# point.format.line.style = slides.LineStyle.THIN_THICK
# point.format.line.dash_style = slides.LineDashStyle.DASH_DOT
point1 = series.data_points[1]
point1.format.fill.fill_type = slides.FillType.SOLID
point1.format.fill.solid_fill_color.color = drawing.Color.blue_violet
# Set sector border
point1.format.line.fill_format.fill_type = slides.FillType.SOLID
point1.format.line.fill_format.solid_fill_color.color = drawing.Color.blue
point1.format.line.width = 3.0
# point1.format.line.style = slides.LineStyle.SINGLE
# point1.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT
point2 = series.data_points[2]
point2.format.fill.fill_type = slides.FillType.SOLID
point2.format.fill.solid_fill_color.color = drawing.Color.yellow_green
# Set sector border
point2.format.line.fill_format.fill_type = slides.FillType.SOLID
point2.format.line.fill_format.solid_fill_color.color = drawing.Color.red
point2.format.line.width = 2.0
# point2.format.line.style = slides.LineStyle.THIN_THIN
# point2.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT_DOT
# Create custom labels for each of categories for new series
lbl1 = series.data_points[0].label
# lbl.show_category_name = True
lbl1.data_label_format.show_value = True
lbl2 = series.data_points[1].label
lbl2.data_label_format.show_value = True
lbl2.data_label_format.show_legend_key = True
lbl2.data_label_format.show_percentage = True
lbl3 = series.data_points[2].label
lbl3.data_label_format.show_series_name = True
lbl3.data_label_format.show_percentage = True
# Show leader lines for chart
# series.labels.default_data_label_format.show_leader_lines = True
# Set rotation angle for pie chart sectors
chart.chart_data.series_groups[0].first_slice_angle = 180
# Save presentation
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
다음은 생성된 파이 차트의 스크린샷입니다.

Python에서 PowerPoint PPTX에 히스토그램 차트 추가
다음은 Python용 Aspose.Slides를 사용하여 PowerPoint PPT에서 히스토그램 차트를 만드는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만듭니다.
- 개체의 Presentations.slides에서 슬라이드 참조를 가져옵니다.
- Slide.shapes.add\chart() 메서드를 사용하여 기본 데이터로 히스토그램 차트를 추가합니다.
- 기본 시리즈 및 범주를 지웁니다.
- Chart.chart\data.chart\data\workbook() 메서드를 사용하여 차트 데이터 통합 문서에 개체에 액세스합니다.
- 차트 데이터에 새 시리즈를 추가합니다.
- 각 계열에 개체에 액세스하고 계열에 데이터 요소를 추가합니다.
- 차트 축의 집계 유형을 설정합니다.
- 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Python에서 PPTX로 히스토그램 차트를 만드는 방법을 보여줍니다.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Clear default categories and series
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Add data points to series
series = chart.chart_data.series.add(slides.charts.ChartType.HISTOGRAM)
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A1", 15))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A2", -41))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A3", 16))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A4", 10))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A5", -23))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A6", 16))
# Set aggregation type
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Save presentation
pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)
다음은 생성된 히스토그램 차트의 스크린샷입니다.

Python을 사용하여 PowerPoint에서 주식형 차트 만들기
주식형 차트는 PowerPoint 프레젠테이션에서 일반적으로 사용되는 차트 유형이기도 합니다. 다음은 Python에서 PPT로 주식형 차트를 만드는 단계입니다.
- 먼저 Presentation 클래스의 인스턴스를 만듭니다.
- 개체의 Presentations.slides에서 슬라이드 참조를 가져옵니다.
- Slide.shapes.add\chart() 메서드를 사용하여 기본 데이터로 시가 고가 저가 종가 차트를 추가합니다.
- 기본 시리즈 및 범주를 지웁니다.
- Chart.chart\data.chart\data\workbook() 메서드를 사용하여 차트 데이터 통합 문서에 개체에 액세스합니다.
- 차트에 새 시리즈 및 범주를 추가합니다.
- 각 차트 시리즈에 액세스하고 데이터 포인트를 추가합니다.
- 하이 로우 라인 형식을 지정합니다.
- 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Python에서 PowerPoint PPTX에 주식형 차트를 추가하는 방법을 보여줍니다.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Clear default series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
# Add categories
chart.chart_data.categories.add(wb.get_cell(0, 1, 0, "A"))
chart.chart_data.categories.add(wb.get_cell(0, 2, 0, "B"))
chart.chart_data.categories.add(wb.get_cell(0, 3, 0, "C"))
# Add series
chart.chart_data.series.add(wb.get_cell(0, 0, 1, "Open"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 2, "High"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 3, "Low"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 4, "Close"), chart.type)
# Add data points
series = chart.chart_data.series[0]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 1, 72))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 1, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 1, 38))
series = chart.chart_data.series[1]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 2, 172))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 2, 57))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 2, 57))
series = chart.chart_data.series[2]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 3, 13))
series = chart.chart_data.series[3]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 4, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 4, 38))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 4, 50))
chart.chart_data.series_groups[0].up_down_bars.has_up_down_bars = True
chart.chart_data.series_groups[0].hi_low_lines_format.line.fill_format.fill_type = slides.FillType.SOLID
# Set series fill formatting
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Save presentation
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
다음은 생성된 주식 차트의 스크린샷입니다.

차트에 대한 추가 정보
Python용 Aspose.Slides를 사용하여 PowerPoint 프레젠테이션에 추가할 수 있는 다른 차트가 많이 있습니다. 지원되는 차트 유형에 대한 자세한 내용은 이 문서 문서를 참조하십시오.
무료 라이선스 받기
임시 무료 라이선스 받기 평가 제한 없이 라이브러리를 사용해 볼 수 있습니다.
결론
이 기사에서는 Python에서 PowerPoint PPT 또는 PPTX로 차트를 만드는 방법을 배웠습니다. 세로 막대형 차트, 분산형 차트, 원형 차트, 히스토그램 및 주식형 차트를 추가하는 방법에 대한 단계와 코드 샘플을 살펴보았습니다. 문서를 사용하여 Python용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 알려주십시오.