Guidelines

파이썬으둜 차트(Chart) 생성 및 데이터 μ‹œκ°ν™”ν•˜κΈ°

μ°¨νŠΈλŠ” 데이터λ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•΄ μ§κ΄€μ μœΌλ‘œ 이해할 수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€.

python-pptx λΌμ΄λΈŒλŸ¬λ¦¬λŠ” λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ 차트λ₯Ό μƒμ„±ν•˜κ³  데이터λ₯Ό μ‹œκ°ν™”ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

이번 μˆ˜μ—…μ—μ„œλŠ” λ§‰λŒ€ν˜• 차트λ₯Ό μ˜ˆμ‹œλ‘œ 차트λ₯Ό μƒμ„±ν•˜λŠ” 방법, 데이터λ₯Ό μΆ”κ°€ν•˜λŠ” 방법, 그리고 μ„œμ‹μ„ μ„€μ •ν•˜λŠ” 방법을 μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.


차트 μ’…λ₯˜ 이해 및 생성 방법

python-pptxλŠ” λ§‰λŒ€ν˜• 차트, μ›ν˜• 차트, μ„ ν˜• 차트 λ“± λ‹€μ–‘ν•œ 차트 μœ ν˜•μ„ μ§€μ›ν•©λ‹ˆλ‹€.

이쀑 κ°€μž₯ 기본적인 차트 μœ ν˜•μΈ λ§‰λŒ€ν˜• 차트λ₯Ό λ§Œλ“œλŠ” 방법을 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.


λ§‰λŒ€ν˜• 차트 생성 예제

λ§‰λŒ€ν˜• μ°¨νŠΈλŠ” λ²”μ£Ό(Category)λ³„λ‘œ λ°μ΄ν„°μ˜ 크기λ₯Ό 비ꡐ할 λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ κ°„λ‹¨ν•œ λ§‰λŒ€ν˜• 차트λ₯Ό μƒμ„±ν•˜λŠ” μ½”λ“œ μ˜ˆμ œμž…λ‹ˆλ‹€.

λ§‰λŒ€ν˜• 차트 생성
# 차트 데이터 μ€€λΉ„ chart_data = CategoryChartData() # λ²”μ£Ό(차트의 κ°€λ‘œμΆ•) μΆ”κ°€ chart_data.categories = ['Category 1', 'Category 2', 'Category 3'] # 데이터 μ‹œλ¦¬μ¦ˆ(차트의 μ„Έλ‘œμΆ•) μΆ”κ°€ chart_data.add_series('Series 1', (1.2, 2.3, 3.4)) # 차트 μœ„μΉ˜ 및 크기 μ„€μ • x, y, cx, cy = Inches(2), Inches(2), Inches(6), Inches(4.5) # μ„Έλ‘œ λ°©ν–₯의 λ§‰λŒ€ν˜• 차트 생성 chart = slide.shapes.add_chart( XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data ).chart

μ½”λ“œ μ„€λͺ…

  • ν”„λ ˆμ  ν…Œμ΄μ…˜ 생성 : Presentation()으둜 μƒˆλ‘œμš΄ ν”„λ ˆμ  ν…Œμ΄μ…˜ 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

  • μŠ¬λΌμ΄λ“œ μΆ”κ°€ : add_slide() λ©”μ„œλ“œλ‘œ ν”„λ ˆμ  ν…Œμ΄μ…˜μ— μŠ¬λΌμ΄λ“œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

  • 차트 데이터 μ€€λΉ„ : CategoryChartData() 객체λ₯Ό μ‚¬μš©ν•΄ μ°¨νŠΈμ— λ“€μ–΄κ°ˆ 데이터λ₯Ό μ€€λΉ„ν•©λ‹ˆλ‹€.

  • λ²”μ£Ό μΆ”κ°€ : chart_data.categories둜 λ²”μ£Όλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. λ²”μ£ΌλŠ” 차트의 κ°€λ‘œμΆ•μ— ν‘œμ‹œλ˜λŠ” κ°’μž…λ‹ˆλ‹€.

  • 데이터 μ‹œλ¦¬μ¦ˆ μΆ”κ°€ : chart_data.add_series()둜 데이터 μ‹œλ¦¬μ¦ˆλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. 데이터 μ‹œλ¦¬μ¦ˆλŠ” 차트의 μ„Έλ‘œμΆ•μ— ν‘œμ‹œλ˜λŠ” κ°’μž…λ‹ˆλ‹€.

  • 차트 μ‚½μž… : add_chart() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•΄ μŠ¬λΌμ΄λ“œμ— 차트λ₯Ό μ‚½μž…ν•©λ‹ˆλ‹€. XL_CHART_TYPE.COLUMN_CLUSTERED둜 μ„Έλ‘œ λ°©ν–₯의 λ§‰λŒ€ν˜• 차트λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

  • λ§‰λŒ€ν˜• 차트 생성 : XL_CHART_TYPE.COLUMN_CLUSTERED둜 λ§‰λŒ€ν˜• 차트λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.


차트 κ΄€λ ¨ μ£Όμš” 속성

  • chart.has_legend = True : μ°¨νŠΈμ— λ²”λ‘€(데이터 λ ˆμ΄λΈ”)λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.

  • chart.value_axis.has_major_gridlines = False : 차트의 μ„Έλ‘œμΆ•μ— λŒ€ν•œ κ·Έλ¦¬λ“œ 라인을 ν‘œμ‹œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.


λ‹€λ₯Έ 차트 μ’…λ₯˜ 생성 방법

λ§‰λŒ€ν˜• 차트 이외에도 파이썬으둜 λ‹€μ–‘ν•œ 차트λ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μ›ν˜• 차트 : XL_CHART_TYPE.PIE

  • μ„ ν˜• 차트 : XL_CHART_TYPE.LINE

  • 면적 차트 : XL_CHART_TYPE.AREA

예λ₯Ό λ“€μ–΄ λ™μΌν•œ μ½”λ“œλ‘œ 면적 차트λ₯Ό μƒμ„±ν•˜λ €λ©΄, add_chart() λ©”μ„œλ“œμ˜ 첫번째 인자λ₯Ό XL_CHART_TYPE.AREA둜 λ³€κ²½ν•˜λ©΄ λ©λ‹ˆλ‹€.

면적 차트 생성
chart = slide.shapes.add_chart( XL_CHART_TYPE.AREA, x, y, cx, cy, chart_data ).chart

이외 λ‹€μ–‘ν•œ 차트 μ’…λ₯˜μ™€ μ„œμ‹ μ„€μ • 방법은 python-pptx 곡식 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

Mission
0 / 1

μ•„λž˜ λΉˆμΉΈμ— κ°€μž₯ μ μ ˆν•œ λ©”μ„œλ“œλŠ” λ¬΄μ—‡μΌκΉŒμš”?

add_chart λ©”μ„œλ“œλ‘œ μ„Έλ‘œ λ°©ν–₯의 λ§‰λŒ€ κ·Έλž˜ν”„λ₯Ό 그릴 λ•ŒλŠ” λ₯Ό 인자둜 μ „λ‹¬ν•©λ‹ˆλ‹€.
XL_CHART_TYPE.PIE
XL_CHART_TYPE.COLUMN_CLUSTERED
XL_CHART_TYPE.LINE
XL_CHART_TYPE.RADAR

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result

Result

The document is empty.

Try running the code.